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

SQLI LABS | Less-35 GET-Bypass Add Slashes (we dont need them) Integer Based

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

0x01:过关流程

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

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

话不多说,直接对 ID 使用时间盲注字典进行爆破,看看有没有符合要求的模板:

如下,是一个使用时间盲注成功爆破出来的可用模板:

 1 and sleep(3)

可以发现,该注入点是一个数字型注入点。并且在测试中,我们还发现,其能返回后端数据库的报错信息。

所以,基于上面的信息,我们可以修改我们的 Payload 为报错注入的 Payload:

 -- 获取目标后端当前正在使用的数据库的名称
 1 and updatexml(1,concat(0x7e,database(),0x7e),1)

可以看到,我们已经成功获取了当前站点使用的后端数据库的信息。至此,SQLI LABS Less-35 GET-Bypass Add Slashes (we dont need them) Integer Based 成功过关。

0x02:源码分析

下面是 SQLI LABS Less-35 GET-Bypass Add Slashes (we dont need them) Integer Based 后端的部分源码,以及笔者做的笔记:

 <?php
 //including the Mysql connect parameters.
 include("../sql-connections/sqli-connect.php");
 ​
 function check_addslashes($string)
 {
     $string = addslashes($string);
     return $string;
 }
 ​
 // take the variables 
 if (isset($_GET['id'])) {
     // 本关是数字型注入点,不用 ' 进行闭合,所以这里有点多此一举的嫌疑
     $id = check_addslashes($_GET['id']);
     //echo "The filtered request is :" .$id . "<br>";
 ​
     //logging the connection parameters to a file for analysis.
     $fp = fopen('result.txt', 'a');
     fwrite($fp, 'ID:' . $id . "\n");
     fclose($fp);
 ​
     // connectivity 
     // 本关是数字型注入
     mysqli_query($con1, "SET NAMES gbk");
     $sql = "SELECT * FROM users WHERE id=$id LIMIT 0,1";
     $result = mysqli_query($con1, $sql);
     $row = mysqli_fetch_array($result, MYSQLI_BOTH);
 ​
     if ($row) {
         echo '<font color= "#00FF00">';
         echo 'Your Login name:' . $row['username'];
         echo "<br>";
         echo 'Your Password:' . $row['password'];
         echo "</font>";
     } else {
         echo '<font color= "#FFFF00">';
         // 如果没有获取到信息,会显示错误信息
         print_r(mysqli_error($con1));
         echo "</font>";
     }
 } else {
     echo "Please input the ID as parameter with numeric value";
 }
 ​
 ?>

http://www.kler.cn/a/385469.html

相关文章:

  • Arrays.sort与Collections.sort:深入解析Java中的排序算法
  • old-cms(原生PHP开发的企业网站管理系统)
  • 小白初入Android_studio所遇到的坑以及怎么解决
  • Ubuntu 的 ROS2 操作系统turtlebot3环境搭建
  • 从零开始使用Intel的AIPC使用xpu加速comfyui
  • 微信小程序自定义tabbar;禁用某个tab;修改某个tab的样式
  • 2024中国国际数字经济博览会:图为科技携明星产品引领数智化潮流
  • 在 Sass 中使用 Mixins
  • 基于Scikit-learn的多元线性回归模型构建与验证
  • 鸿蒙进阶篇-网格布局 Grid/GridItem(二)
  • LeetCode题练习与总结:打乱数组--384
  • 无人机干扰与抗干扰,无人机与反制设备的矛与盾
  • 如何解决导入aioredis报错TypeError: duplicate base class TimeoutError的问题(轻松解决,亲测有效)
  • 可视化建模与UML《类图实验报告》
  • WebRTC 环境搭建
  • 【报错解决】使用@SpringJunitConfig时报空指针异常
  • huawei初级网络工程师综合实验
  • 《计算机网络》课后探研题书面报告_了解网络设备
  • 语音识别如何赋能医疗行业:AI技术应用与场景剖析
  • Linux:git的了解和基础使用(保姆级教程)
  • Vue 的代理和环境变量 - 2024最新版前端秋招面试短期突击面试题【100道】
  • Go语言从入门到精通:一站式学习指南
  • Kubernetes中的网络通信
  • CSharp OpenAI
  • 编写第一个 Appium 测试脚本:从安装到运行!
  • 什么是ARM架构和Cortex内核?