声明
本博客提供的思路和技术仅限于提升自身技术,不得用于非法活动,任何非法活动均与本博客的立场相违背,违法者将依法承担法律责任
某SRC数字店铺存在SQL注入漏洞
注册后登陆数字店铺后台查看“数字标签”页面,其中的查询框存在SQL报错注入


仔细观察请求数据包,我传递的查询参数只有一个1',但是请求数据包中的内容却采用POSTmultipart/form-data类型进行传输,更具数据包分析很容易知道前端进行了加密签名处理,这个网站中的其他数据传输都采用这种方式,这样可以让你看不出传递的具体数据并防止篡改请求包,这就是为什么此站在无waf的情况下,挂着xray代理(以及任何多强大扫描SQL注入的工具)不可能扫描出此处存在SQL注入的原因,也就是说这里只能靠手动尝试才可以发现
查询参数输入1'时回显You have an error in your SQL syntax
查询参数输入1''时回显正常
查询参数输入1'''时回显You have an error in your SQL syntax
查询参数输入1''''时回显正常
通过4个单引号检测,明确确定存在SQL注入,接下来需要构造注入语句得到数据库名证明危害即可,不要拖库拿信息!!!不要拖库拿信息!!!不要拖库拿信息!!!
Tips:注释符号一般都是不起作用的,建议使用单引号闭合的方式闭合语句,这里注释符就不起作用
1' and updatexml(1,concat(0x7e,DATABASE(),0x7e),1) and '1'='1

用报错注入,成功得到数据库名😎
总结
- 要提升逻辑观察能力,随机应变,遇到只能手动测试的网站不要怕麻烦,万一出洞了呢
- 4个单引号检测SQL注入挺好用
- 实战尽量使用单引号闭合方式,不要用注释符打不成功就不打了
- 上述只是针对一般类型的SQL注入,还有好多类型的SQL注入