找回密码
 加入怎通
查看: 205|回复: 0

渗透测试系列|SQL注入(sql注入漏洞用什么语言)

[复制链接]
我来看看 发表于 2023-03-19 13:56:35 | 显示全部楼层 |阅读模式
! J0 H5 Y& G. q# z3 m8 Q

原标题:渗透测试系列|SQL注入一、 因背景:有位大佬跟我说,某个网站存在SQL注入,但是可能存在waf,需要帮忙验证一下(漏扫扫出来的)拿到url链接之后,开始了各种尝试,什么单引号啊、双引号啊、反引号啊、括号啊、基本的语句啊等等,页面返回都不是我所预想的结果。

, t! N# j$ \# j! m8 k: v- c

开始怀疑是误报…二、 果和大佬聊了一下,看了报告里面的请求包

5 r4 q: @: H8 j! w4 }0 q1 Z5 a- D' n

是两个@@触发了报错然后尝试了一下,

3 f; K1 |0 H9 Q3 U2 l" ~4 N3 T( h

// 当然也可以借助bp的内置字典就是容易被封ip…可以看到凡是带有@符号的都会报错,返回状态码500

6 w$ T3 t; n: v& h5 Z) k% v1 r

既然注入点有了,那么开始构造poc来证明漏洞可利用在两个@@后面,无论构造任何语句,都不会被执行

8 E1 W% L) J; m" l1 n+ u" ~

那么根据上文bp遍历字典的结果来看,似乎用一个@的话,后面的会被执行

6 Z8 ^+ h4 X) C& S3 O$ q0 }$ d- x0 O

开始构造@and 1=1根据这些信息加上报错回显,可得知是mssql数据库

% [% v9 L) ]/ i

Mssql报错注入很简单,拿相关函数(user,db_name())与数值进行比较、四则运算都可所以获取用户名的poc为:@and user=1// 区别于mysql,mssql的用户名为 user 数据库为db_name()

2 i) @. L1 `; h2 t( l; C! b

但是有一点问题,and --- > a_nd 猜测规则是:检测到and,则把a替换成a_绕过:改成大写即 @anD+user=1

6 w9 o. U: {+ m7 y6 |

用@来终止上个语句,属实是第一次见,也不知道应用的sql语句是怎么写的不得不感叹:大千世界,无奇不有通过信息收集,得知网站指纹,下载了相关最新版cms源码,发现还是有些出入的,可能是因为没有导入模板的原因…。

, U0 P* I. b- g9 u2 M9 }

顺便看了看install目录下的sql文件

7 }* y4 E! q' I

猜测跟mssql的存储过程有关具体原因未知,有空再去分析一下它的代码看看是怎么插入数据库查询的返回搜狐,查看更多责任编辑:

) O' v# h! w/ R! z: Y( S' v1 w1 F - N: s" u2 N, B2 W 1 ` ^' k* M6 H2 N1 u . c# q8 M+ ], d) P & N3 N) E* _$ x% P' B2 u5 |4 w
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-4-4 06:24 , Processed in 0.047966 second(s), 23 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

    快速回复 返回顶部 返回列表