DVWA小总结

很久没碰这些东西了,加上之前也没整理过,正好趁着这个月整理一下。

bruteforce
easy		没有任何的防护,
medium		在easy的基础上,加了一个错误后的slepp(2)语句
high		一开始便检查了user_token和session_token,
impossible	在high的基础上,加上了PDO扩展,然后设置了失败的次数为3次,如果超过3次,等待15分钟

CSRF(cross site request forgery)
easy		没有任何的防护,由于逻辑设计的问题,可以直接更改密码
medium		

File inclusion
easy		直接获取传入的数据
medium		过滤了../..\和http这种,防止遍历路径和远程文件包含漏洞
high		限制了要么为file开头或者include.php
impossible	设置了白名单,只能是file1/2/3/4.php或者Include.php

File upload
easy		没有任何的防护
medium		对文件的type和size进行了限制
high		对文件的后缀名进行了限制和检查了文件头getimagesize()
impossible	对上传文件进行了重命名(为md5值)而且生成了sessiontoken

关于XSS的一篇好的博客:https://segmentfault.com/a/1190000019484055
XSS三种,根据恶意代码是否存储在服务器当中,可以分为存储型和反射型;而DOM型的特点是不与游览器进行交互,直接用游览器上的DOM树解析产生。
XSS(DOM)
easy		没有任何的防护,
medium		过滤了script,而且后端把插入的语句放在了value里面,所以要查看HTML代码才知道要借助default=English,
		然后在后面把前面的</option></select>标签闭合掉
high		设置了白名单,通过空格截断,然后通过#将后面的js语句插入进去
impossible	提示在客户端进行了处理,通过(lang),这个是通过URL编码之后的数据,不存在XSS漏洞了。【我还是有点懵】

XSS(reflect)
easy		没有任何防护
medium		简单的过滤了srcipt
high		全面过滤了script
impossible	加上了user_token和session_token,而且通过htmlspecialchars()对用户的输入进行了转义,使得<  >/这种符号都没用了

XSS(store)
easy		对message的输入进行了转义,将" '转换成了\' \"这种
medium		对message的进行了全面的过滤,但对name只进行了简单的过滤,但是前端限制了name的长度,所以需要先改一下前端的长度,然后在进行插入
high		对message的进行了全面的过滤,但对name只进行了script的过滤,所以可以在改完前端之后,通过img标签进行插入
impossible	对两个都进行了全面的过滤

sql injection
easy		GET普通单引号注入
medium		POST数字型注入,过滤了单引号,后面的表名转换为0x16进制就好了
high		和easy一样,注释符用#
impossible	加上了user_token,而且采用了采用了PDO技术,划清了代码与数据的界限

sqlbind injection
easy		GET普通单引号盲注
medium		POST数字型注入,过滤了单引号,后面的表名转换为0x16进制就好了
high		和easy一样,只是注释符用#
impossible	加上了user_token,而且采用了采用了PDO技术,划清了代码与数据的界限

command injection
easy		没有任何防护
medium		对&&和 ; 进行了过滤
high		对各种各样的进行了过滤,但是有个空子,过滤的时候由于| 后面有个空格,导致可以选择|进行绕过
impossible	加上了user_token,而且对.进行了拆分,把数字提炼出来,然后进行了重组

看这篇博客比较好:https://blog.csdn.net/qq_36119192/article/details/82918141
csrf
easy		没有任何的防护
medium		要先检查referer字段,绕过的方法是只要referer里面包含了127.0.0.1这个本机地址就可以,
high		加上了user_token机制,好像要和xss漏洞联合使用才能得出结果。先用xss爆出token值,然后再转到csrf漏洞中构造url
impossible	要求先输入原密码,而且加上了PDO拓展限制了输入值。但是这里PDO好像不管用,主要是不知道原密码,爆破也不实际,进行了md5加密

Weak Session IDs
这个就是猜测出会话号,然后可以使用截取到的cookie值,利用游览器对登录状态的记录特性从而可以达到绕过账号密码登录的目的。
利用方法:用BP转包之后可以看到COOKIE值,然后点击FORWARD,让游览器记住这个登录的COOKIE值,然后把抓包关掉,开启一个新的页面,在HACKBAR传入网址和COOKIE值
easy		sessionID值从0开始每次递增一
medium		采用了时间戳的形式
high		用MD5形式进行了加密
impossible	用SHA1对时间戳、随机数、固定字符串"impossible"进行了加密
【这个利用是伪造ID值,意思是假如我知道A的ID值是3,然后我想以B的身份登录进去,猜测一下B的ID值是4,然后进行尝试。因为B之前登录过,游览器有记录。】

insecure capture
这个是绕过验证码,实践是绕过验证码达到改密的目的。由于我们无法改变发送到google校验的resp返回值,所以只能利用其它路径。
easy		分为两步,第一步是验证校验码,第二步是存储密码改密了。由于通过验证change参数和step参数来判断的,所以我们可以抓包之后修改step即可
medium		和easy差不多,只是加了一个passed_captcha参数的校验,由于他是隐藏的,所以需要手动加上,然后修改step参数就好了
high		把两步合成一步了,把中间那个if条件语句等于false就好了。所以抓包之后修改recaptcha_response_field参数和伪造User-Agent
impossible	增加了Anti-CSRF token 机制防御CSRF攻击,利用PDO技术防护sql注入,验证码无法绕过,同时要求用户输入之前的密码
【前面的三种等级都可以通过构造CSRF来进行绕过。给一个博客:https://www.freebuf.com/articles/web/119692.html】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值