当前位置: 首页 > news >正文

SQLI LABS | Less-37 POST-Bypass mysql_real_escape_string

关注这个靶场的其它相关笔记:SQLI LABS —— 靶场笔记合集-CSDN博客

0x01:过关流程

输入下面的链接进入靶场(如果你的地址和我不一样,按照你本地的环境来):

 http://localhost/sqli-labs/Less-37/

是一个登录框,我们可以随便输点数据后通过 BurpSuite 进行抓包,然后对 Username 字段进行时间盲注(可以预先准备一个字典,直接跑就好):

如下,是一个使用时间盲注成功爆破出来的可用模板,该模板只有通过 BurpSuite 的 Repeater 模块进行利用,因为如果你从网页端输入,会发现 % 会被二次 URL 编码,从而失去其原本的含义:

 1%df'%20%26%20sleep(3)%23--%20%2f%2a

笔者嫌使用 sleep(3) 进行时间盲注太慢了,所以替换其 Payload 为报错盲注,如下,可以直接获取目标后端数据库信息:

 -- 获取目标后端当前正在使用的数据库信息1%df'%20%26%20updatexml(1,concat(0x7e,database(),0x7e),1)%23--%20%2f%2a

可以看到,我们已经成功获取了当前站点使用的后端数据库的信息。至此,SQLI LABS Less-37 POST-Bypass mysql_real_escape_string 成功过关。

0x02:源码分析

下面是 SQLI LABS Less-37 POST-Bypass mysql_real_escape_string 后端的部分源码,以及笔者做的笔记:

<?php//including the Mysql connect parameters.include("../sql-connections/sqli-connect.php");​​// take the variablesif (isset($_POST['uname']) && isset($_POST['passwd'])) {// 接收 uname 与 passwd$uname1 = $_POST['uname'];$passwd1 = $_POST['passwd'];​//echo "username before addslashes is :".$uname1 ."<br>";//echo "Input password before addslashes is : ".$passwd1. "<br>";​//logging the connection parameters to a file for analysis.$fp = fopen('result.txt', 'a');fwrite($fp, 'User Name:' . $uname1);fwrite($fp, 'Password:' . $passwd1 . "\n");fclose($fp);​// 对接收到的 uname 与 passwd 进行转义$uname = mysqli_real_escape_string($con1, $uname1);$passwd = mysqli_real_escape_string($con1, $passwd1);​//echo "username after addslashes is :".$uname ."<br>";//echo "Input password after addslashes is : ".$passwd;    ​// connectivity // 设置数据库连接的字符集为 gbk => 宽字节注入,前面的转义没用了mysqli_query($con1, "SET NAMES gbk");@$sql = "SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";$result = mysqli_query($con1, $sql);$row = mysqli_fetch_array($result, MYSQLI_BOTH);​if ($row) {//echo '<font color= "#0000ff">';   ​echo "<br>";echo '<font color= "#FFFF00" font size = 4>';//echo " You Have successfully logged in\n\n " ;echo '<font size="3" color="#0000ff">';echo "<br>";echo 'Your Login name:' . $row['username'];echo "<br>";echo 'Your Password:' . $row['password'];echo "<br>";echo "</font>";echo "<br>";echo "<br>";echo '<img src="../images/flag.jpg"  />';​echo "</font>";} else {echo '<font color= "#0000ff" font size="3">';// 它人还怪好的,把 try again looser 给注释了,感觉少了点动力//echo "Try again looser";print_r(mysqli_error($con1));echo "</br>";echo "</br>";echo "</br>";echo '<img src="../images/slap.jpg" />';echo "</font>";}}​?>
http://www.lryc.cn/news/480724.html

相关文章:

  • 数字后端零基础入门系列 | Innovus零基础LAB学习Day9
  • 深度学习:GLUE(General Language Understanding Evaluation)详解
  • 基于Multisim直流稳压电源电路±9V、±5V(含仿真和报告)
  • Vue Cli的配置中configureWebpack和chainWebpack的主要作用及区别是什么?
  • ubuntu主机搭建sysroot交叉编译环境
  • Python注意力机制Attention下CNN-LSTM-ARIMA混合模型预测中国银行股票价格|附数据代码...
  • 实验三 JDBC数据库操作编程(设计性)
  • 各种环境换源教程
  • Rust项目中的Labels
  • Jmeter的安装和使用
  • 初识Electron 进程通信
  • go语言中的通道(channel)详解
  • 【JS】内置类型的相关问题
  • Mac上无法访问usr/local的文件
  • http 常见状态码
  • 代码训练营 day59|并查集
  • Node.js——fs模块-路径补充说明
  • 华为ENSP--ISIS路由协议
  • 论软件可靠性设计及其应用
  • Android中桌面小部件framework层使用到的设计模式
  • 【JavaEE进阶】HTML
  • ElasticSearch 添加IK分词器
  • 可视化建模与UML《顺序图实验报告》
  • Mac的极速文件搜索工具,高效管理文件
  • 公开仓库改私有再配置公钥后Git拉取仍需要输入用户名的问题
  • 工作流初始错误 泛微提交流程提示_泛微协同办公平台E-cology8.0版本后台维护手册(11)–系统参数设置
  • window下安装rust 及 vscode配置
  • 【数据结构】【线性表】单链表1—概念即创建(附C语言源码)
  • centos7的maven配置
  • day57 图论章节刷题Part08(拓扑排序、dijkstra(朴素版))