云计算百科
云计算领域专业知识百科平台

[01] SQL注入漏洞解析:如何利用LOAD_FILE()和SELECT INTO OUTFILE读取与写入服务器文件[webshell] 超详细文章

目录

SQL读取文件漏洞

权限查看:

数据库用户

查询用户权

我们的UNION注入payload如下:

用户权限

代码:sql

代码:sql

代码:sql

其它权限查询

代码:sql

文件读写File权限查询

代码:sql

加载文件  LOAD_FILE()

sql读取漏洞

代码:sql

代码:sql

另一个例子

代码:sql

sql文件读取漏洞利用条件


SQL写入文件漏洞

写入权限检测Secure_file_priv:

语句:

注意:

安全文件权限隐私检查 secure_file_priv

输出[写入]文件

SQL中导出语句

select写入数据

 SQL 注入写入文件

运行webshell注意点

写入webshell注入载荷UNION如下

文件写入 与 Webshell

具体的关联步骤如下:

Web Shell利用的注意点

权限问题:

文件路径与文件类型:

Web Shell隐蔽性:


SQL读取文件漏洞

  • SQL注入漏洞通常能让攻击者执行任意SQL语句,如果数据库配置不当或权限过宽。
    • 攻击者可以利用 LOAD_FILE()(MySQL)或 xp_fileexist(SQL Server)等特定的函数来读取服务器上的文件
    • 攻击者通过构造SQL注入语句,获取数据库服务器上敏感的文件
    • 如配置文件(如/etc/passwd,web.config等)。

权限查看:

  • 读取数据比写入数据更为常见,写入数据严格保留给现代 DBMS 中的特权用户,因为它可能导致系统漏洞,我们将会看到这一点。
    • 例如,在 中MySQL:
      • DB 用户必须具有FILE将文件内容加载到表中,然后从该表中转储数据并读取文件的权限。
    • 因此:
      • 让我们首先收集有关数据库中用户权限的数据,以决定我们是否将文件读取和/或写入后端服务器。

数据库用户

  • 首先:
  • 我们必须确定我们在数据库中是哪个用户
    • 虽然我们不一定需要数据库管理员 (DBA) 权限才能读取数据
    • 但这在现代 DBMS 中变得越来越必要,因为只有 DBA 才被授予此类权限
    • 这同样适用于其他常见数据库
    • 如果我们确实拥有 DBA 权限,那么我们拥有文件读取权限的可能性就更大

查询用户权

  • 如果没有
    • 那么我们必须检查我们的权限以查看我们可以做什么
    • 为了能够找到我们当前的 DB 用户
    • 我们可以使用以下任何查询:

我们的UNION注入payload如下:

cn\’ UNION SELECT 1, user(), 3, 4– –

或者:

cn\’ UNION SELECT 1, user, 3, 4 from mysql.user– –

这告诉我们当前的用户,在本例中是root:

这是非常有希望的,因为 root 用户很可能是 DBA,这赋予我们许多特权。

用户权限

  • 现在我们知道了我们的用户,我们可以开始寻找该用户拥有的权限。
  • 首先:
  • 我们可以使用以下查询测试我们是否具有超级管理员权限:

代码:sql

cn\’ UNION SELECT 1, super_priv, 3, 4 FROM mysql.user– –

再次,我们可以将以下有效负载与上述查询一起使用:

代码:sql

cn\’ UNION SELECT 1, super_priv, 3, 4 FROM mysql.user WHERE user=\”root\”– –

  • 如果 DBMS 中有许多用户
  • 我们可以添加WHERE user=\”root\”仅显示当前用户的权限root:

代码:sql

cn\’ UNION SELECT 1, super_priv, 3, 4 FROM mysql.user WHERE user=\”root\”– –

  • 查询返回Y,这意味着YES,表示超级用户权限。
  • 我们还可以使用以下查询直接从架构转储我们拥有的其他权限:

其它权限查询

代码:sql

cn\’ UNION SELECT 1, grantee, privilege_t

赞(0)
未经允许不得转载:网硕互联帮助中心 » [01] SQL注入漏洞解析:如何利用LOAD_FILE()和SELECT INTO OUTFILE读取与写入服务器文件[webshell] 超详细文章
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!