团队内部漏洞挖掘-sql注入实战案例

admin 2025年4月9日13:45:12评论18 views字数 1731阅读5分46秒阅读模式

宇宙免责声明!!!

本推文提供的信息、技术和方法仅用于教育目的。文中讨论的所有案例和技术均旨在帮助读者更好地理解相关安全问题,并采取适当的防护措施来保护自身系统免受攻击。

严禁将本文中的任何信息用于非法目的或对任何未经许可的系统进行测试。未经授权尝试访问计算机系统或数据是违法行为,可能会导致法律后果。

作者不对因阅读本文后采取的任何行动所造成的任何形式的损害负责,包括但不限于直接、间接、特殊、附带或后果性的损害。用户应自行承担使用这些信息的风险。

我们鼓励所有读者遵守法律法规,负责任地使用技术知识,共同维护网络空间的安全与和谐。

本文由Zer0 Sec内部成员-Tim供稿
  • 登录框处存在sql注入。

  • 判断注入:

团队内部漏洞挖掘-sql注入实战案例
  • 用户名是base64编码,所以我们的测试语句需要编码成base64再发送。

  • 用户名测试单引号报错,登录失败:

团队内部漏洞挖掘-sql注入实战案例
  • 测试两个单引号,发现正常。

团队内部漏洞挖掘-sql注入实战案例
  • 初步判断存在注入。可以看到是aspx的,那就首先测试看是不是mssql数据库吧。

a' or db_name()='1
团队内部漏洞挖掘-sql注入实战案例
  • 返回正常,那试个语法错误看看会不会报错。

a' or db_namea()='1
团队内部漏洞挖掘-sql注入实战案例
  • 报错,那就可以确实这是一个mssql数据库的注入了。

  • 后端sql语句大概就是:

select xx from xxx where username=’’ and password=’’
  • 尝试构造语句注入:

' or '1'='1
  • 那后端sql应该就是:

select xx from xxx where username=' or '1'='1’ and password=’’
  • 这条sql返回的结果应该是真,根据万能密码,我们应该是可以直接登录的。

团队内部漏洞挖掘-sql注入实战案例
  • 这里返回了:帐号已被禁止登录系统。

  • 这里其实是构造成功了,只不过账号被禁用了登不进去。

  • 那试试

or ‘1’=’2
团队内部漏洞挖掘-sql注入实战案例
  • 会发现也是返回帐号已被禁止登录系统。为什么呢?分析一下sql语句就知道了。

select xx from xxx where username=' or '1'='1’ and password=’’
  • 因为and的优先级被or高,所以这里可以看成or把前后语句分开了。

  • 首先红色部分,也就是username=’’,这里为真。

  • 然后黄色部分是’1’=’1’ and password=’’,这里肯定为假,因为我们填入的password不是真正的密码。And要两边为真才是真。

  • 所以真or=真。所以这里不管输入or ‘1’=’1’ 还是 or ‘1’=’2,返回的结果都是真,是没办法构造出truefalse两种状态的。

  • 既然知道了登录的sql逻辑,再尝试构造一下语句,进行布尔盲注。

  • 尝试输入

' and 1=1 or '1'='1
团队内部漏洞挖掘-sql注入实战案例

再试试

' and 1=2 or '1'='1
团队内部漏洞挖掘-sql注入实战案例
  • 到这里可以发现两种回显不一样,1=1的时候返回真,1=2的时候返回假。那就构造出truefalse两种状态了。

  • 那为什么这样可以呢?还是来分析下sql语句。

select xx from xxx where username=' and 1=2 or '1'='1’ and password=’’
  • 首先还是红色部分:username=’’为真,1=2为假,所以红色部分整体为假。

  • 再看黄色部分,黄色部分整体肯定为假,因为password是假的。

  • 所以假 or  = 假。

  • 其实整个sql语句是真还是假,是由1=2这块确定的,如果输入的条件为真就是真,为假就是假。

  • 那到这里基本拿下了。判断下user的长度。

Len(user) > 1
  • 正常

团队内部漏洞挖掘-sql注入实战案例
Len(user) > 100 
  • 报错

团队内部漏洞挖掘-sql注入实战案例
  • 那后面就是慢慢确定user的位数了。

  • 注意:这里用--注释不行的。

团队内部漏洞挖掘-sql注入实战案例
Select xx from xxx where username=’’ or 1=1 -- and password=’’
  • 如果注释可以用,那就是普通方式注入了,直接or后面跟注入语句。

课程介绍链接:https://www.yuque.com/syst1m-/blog/lc3k6elv0zqhdal3?singleDoc# 《课程介绍》

外部交流群(欢迎进群骚扰我,互相交流)

由于群人数超过了200,只能邀请拉群,可以关注公众号,后台回复“加群”,获取助手绿泡泡,联系小助手邀请进群
团队内部漏洞挖掘-sql注入实战案例

原文始发于微信公众号(Zer0 sec):团队内部漏洞挖掘-sql注入实战案例

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月9日13:45:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   团队内部漏洞挖掘-sql注入实战案例https://cn-sec.com/archives/3934257.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息