探索web世界——任务二
继续进行学习,本次的任务由于其他的事情耽误,发布的比较晚,但是还是要坚持去做,不能随便应付。
任务内容
1.学会使用dirsearch(Python3环境);
2.学会使用hackbar(Firefox插件)和burpsuite 抓包改包功能;
3.利用phpstudy搭建dvwa靶场
4.学会使用burpsuit的Intruder模块,并完成dvwa的第一个模块brute force
5.完成攻防世界web新手练习区的1、2、3、4、6、8、9题
一、使用dirsearch
- 把它的安装包直接下载放到磁盘里:
对于包内的几个文件夹,他们的内容如下:
db目录是此款工具自带的字典;
reports目录是爬过的所有网站; - win+r打开运行界面,输入cmd进入命令行
- cd进入dirsearch目录
输入的命令中:
cd是指向某个磁盘,Windows10跳转到其他磁盘需要+/x,x是你要去的磁盘; - 输入dirsearch命令,使用工具
-u 指定的url;
-e 指定的网络语言;
-w 可以加上自己的字典(带上路径);
-r 递归查找;
扫描出来的每一列的含义是:扫描时间,状态码,大小,扫描的目录,重定向的地址。
- 最后扫描结束:
二、使用hackbar和burpsuite抓包改包功能
学习使用hackbar
- 首先看到hackbar不知道是撒,百度一下:
看了之后不是很清楚他说的是撒。 - 先安装了火狐浏览器,然后添加了hackbar组件:
- 按下Fn+F12,弹出如下界面:
Encryption:对数据进行加密(有多种加密形式);
Encoding:各类编码;
SQL:SQL注入;
XSS:XSS攻击;
LFI:LFI漏洞;
XXE:XXE攻击;
Other:其他选项,包含Jsonify,Uppercase,Lowercase;
Load URL:加载网址,将网址加载进框,便于修改;
Split URL:切分网址,自动切分,快速找出需要改的地方;
Execute:执行,相当于F5;
Post data:将要发送的数据填入此处;
Referer:刷新;
User Agent:用户代理;
Cookies:网页cookie;
Clear ALL:清除全部;
burpsuite抓包改包
- 使Intercept的状态为on,在网页输入一个关键词web并搜索,此时就会拦截到所有的包,
- 将web改为pwn,然后将Intercept的状态改为off,此时网页就会自动跳转为pwn的搜索结果:
改包完成。
三、利用phpstudy搭建dvwa靶场
- 首先确保自己的PHPstudy是能够正常使用的,因为上次任务安装后没有验证,所以这次也捎带进行了验证,配置好环境后,输入本地网址,出现了“hello world!”:
- 然后按照教程下载DVWA——将文件放置WWW文件夹下——更改config中的“password”为“root”——然后打开网页localhost/DVWA目录/setup.php
我这里用的是DVWA-1.9
- 刚开始用的DVWA-1.9这个安装包,但是点击了“create/reset database”这个后,出现了错误:
- 我查了下应该是说里面有个函数已经不能用了,这个版本的不支持。所以我又重新下载了另一个DVWA的安装包。
然后就可以啦!!
- 这里改用DVWA-master
然后输入“admin”和“password”就登录成功了
- 我不是很确定自己是创建成功了,所以随便点了点,看到下面这个我想我应该是成功了:
四、学习使用burpsuit的Intruder模块,完成dvwa的第一个模块brute force
了解节基本知识,准备尝试
- Brute Force(暴力破解):一般是指穷举法,顾名思义,暴力破解的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。理论上来说,只要字典足够庞大,枚举总是能够成功的!
- 首先打开DVWA和burpsuite,并且设置好网络代理,然后开始在不同的安全等级下,开始尝试爆破。
low等级
- 设置DVWA的安全等级为low:
- 在Brute Force模块输入用户名admin,密码随意输入,比如:123,然后对数据包进行拦截;(在次模块的右下角还有个“view source”可以点击查看源代码,通过分析源代码来了解low等级下的服务器的一下操作和防护机制)
- 将拦截到的数据包按右键,然后点击“send to intruder”
- 如图所示,将之前的关键字全部清除,加入新的关键字:
- 然后添加字典:
- 然后开始爆破,出现如下结果:
发现有长度不一样的密码,这可能就是爆破出来的密码。
回到登录页面,用新的密码登录一下,果然成功了: - 在刚才的爆破过程中,使用的方式是sniper,还有其他方式,在这里引用别人的理解来说明一下:
四种暴力破解方式的区别:一个字典,两个参数,先匹配第一项,再匹配第二项【sniper】
一个字典,两个参数,同用户名同密码【battering ram】
两个字典,两个参数,同行匹配,短的截止【pitch fork】
两个字典,两个参数,交叉匹配,所有可能【cluster bomb】 - 也可以尝试用SQL注入的方式登录:
Medium等级
在这个等级下与low等级的区别在于不能采用SQL注入的方式登录,尝试了一下,果然如此:
Medium等级防止了SQL注入,但爆破步骤和low的基本一致。
High等级
- 在这个等级下,与low的区别可以通过抓包得到的数据包看到,在登录验证时提交了四个参数:username、password、Login以及user_token;增加了爆破的难度,可能无法简单的使用Burpsuite完成爆破。
Impossiable等级
- 在这个等级下,爆破成功的可能性不大,通过查看源代码可知,它加入了可靠的防爆破机制,当检测到频繁的错误登录后,系统会将账户锁定,爆破将无法继续。
最后还看到了一些防暴力破解的有效手段(此处是引用):
1、限制尝试次数;
2、验证码(验证码存在被技术破解风险仅用于增加每次尝试的成本);
3、PDO技术;
附上大佬文章一篇关于爆破过程
攻防世界题目练习
- 首先按要求完成题目:
关于题目的详解,刚开始的两到题,完全没有思路,不清楚要干撒,甚至不知道要怎么提交,通过网上搜和看前人的WP得以稍懂一些。做完感觉对于Burpsuite的使用熟练了一些。也算是有收获。
总结
由于一些个人的原因,这个任务发布的晚了一周多,感觉和其他小伙伴已经落后很多了,赶紧补一补吧。任务中有的地方也比较粗糙。