隔了一年多了回头改进一下希望可以帮到大家
0x01 环境配置
我是用的phpstudy搭建的
下载可以看这里:https://www.xp.cn/linux.html
然后就是这个样子
然后我们要开的服务是这两个
不开Mysql的就是静态的页面
这里也是可以看到他的配置看到他的数据库默认账号密码
root/root
然后要去DVWA中设置数据库的账号密码
目录在这里DVWA\config\config.inc.php
这个改一致就可以了
然后访问一下
有个报错 去处理一下
去修改php.ini
文件中 修改
修改一下 重启phpstudy
ok 没有问题了
进行登录
默认用户名:admin
密码:password
DVWA_Brute Force_Low(暴力破解)
看看源码
构造相同格式的语句 进行暴力破解
SELECT * FROM `users` WHERE user = '$user' AND password = '$pass'
SELECT * FROM `users` WHERE user ='admin or '1'='1' AND password=''
主要是应用到了or语句
DVWA_Brute Force_Medium(暴力破解)
看看源码
多了这一行代码 重点在这个函数
所以 单引号就不可以用,上burpsuite
DVWA_Brute Force_High(暴力破解)
看看源码
添加了token参数,有效的过滤一些针对数据库的爆破攻击
打开网站登录的时候,他会首先下发给你一个token,登录的时候需
要带上他下发给你的token,他会先校验token参数值,如果更他服务器
上的token不匹配,不进行下一步操作
上burpsuite
DVWA_Command Injection_Low(命令注入)
看看源码
构造代码:127.0.0.1 &&whoami
所以 现在我们就知道他的IP地址 还知道他的账号
直接上百度 是吧
windows cmd 创建管理员 教程很多
DVWA_Command Injection_Medium(命令注入)
看看源码
对&&
进行了过滤
其实没什么影响,用一个也可以
补充知识
&&
如果命令被 &&
所分隔,那么命令也会一直执行下去,但是中间有错误的命令就不会执行后面的命令,没错就继续执行直至命令执行完为止。
||
如果命令被双竖线 ||
所分隔,那么一遇到可以执行成功的命令就会停止执行后面的命令,而不管后面的命令是否正确。如果执行到错误的命令就是继续执行后一个命令,直到遇到执行到正确的命令或命令执行完为止。
构造代码:127.0.0.1 & whoami
更之前操作就一样了
DVWA_Command Injection_High(命令注入)
看看源码
新添加过滤了很多字符
构造代码:127.0.0.1 |whoami
更之前 操作就一样
DVWA_Command Injection_Impossible(命令注入)
看看源码
IP根据.
进行了分割,确定是否都为数字
DVWA_CSRF(跨站请求伪造)
CSRF,全称Cross-site request forgery,翻译过来就是跨站请求伪造,是
指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶
意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的
身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如
转账、改密等)。CSRF与XSS最大的区别就在于,CSRF并没有盗取
cookie而是直接利用。
- Low
看看源码
服务器收到修改密码的请求后,会检查参数password_new
与password_conf
是否相同,如果相同,就会修改密码,并没有任何的防CSRF机制(当然服
务器对请求的发送者是做了身份验证的,是检查的cookie,只是这里的代码
没有体现= =)
漏洞利用
需要注意的是,CSRF最关键的是利用受害者的cookie向服务器发送伪造请
求,所以如果受害者之前用Chrome浏览器登录的这个系统,而用搜狗浏览
器点击这个链接,攻击是不会触发的,因为搜狗浏览器并不能利用Chrome
浏览器的cookie,所以会自动跳转到登录界面
CSRF针对修改密码
可以用短链接 伪装自己的网址