注:各位同仁,今天晚上主要防止被限号来凑个数字,这篇文章本来是给一个机构做科普的,所以写的有点怎么说,反正土司的人看了会骂哈哈,大家凑合的看,文中哪怕有那么一点半点东西,能给大家带来启发,那么我这个文章就没白发,所以大佬们轻点喷哈哈,嘴下留情哈哈。 1、POST注入猜解网站管理员账号密码 通过awvs扫描发现存在注入,直接在avws下的Scans---target下点击你扫描的过目标如图:
3 }. O* \) V; S" g" r& T5 L
; t, b0 P9 D! |. L6 B 然后点vulnerabilities,如图:. K- Z) U% i5 O8 g
- S _9 s# t1 B) O. [$ X0 _3 f$ t
+ H$ p% @( {1 y2 I: M
6 w+ g2 s, s$ D# K; _, m- S1 L 点SQL injection会看到HTTPS REQUESTS,如图:
8 S' j) w, k# `0 w3 D$ V
9 D! B, h0 p4 \) H- Q$ F' O 获取到http的数据包,如下: POST /Product/ProductHandler.ashx HTTP/1.1 Host: www.test.cn Cache-Control: no-cache Accept: text/plain, /; q=0.01 Origin: http://www.test.cn User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.16 Safari/537.36 X-Requested-With: XMLHttpRequest Referer: http://www.test.cn/ Accept-Language: en-us,en;q=0.5 X-Scanner: Netsparker Accept-Encoding: gzip, deflate Content-Length: 157 Content-Type: application/x-www-form-urlencoded; charset=UTF-83 ]- h1 b- x+ f# m: Z# k; e8 K1 h. e( r
4 B1 h6 p: } ^5 y+ }& ?( m Type=GetProductList&pageIndex=3&pageSize=5&productType=*&supplierType=1 把以上post包保存到sqlmap根目录下,保存为1.txt,注入参数提前用awvs已经识别,注入参数是productType,注入命令为: sqlmap.py -r 1.txt --level 5 --risk 3 -p productType --dbms=mssql -D cci -T Zy_user -C u_loginname,u_loginpassword –dump 此sqlmap命令的意思是读取数据库cci下Zy_user表的用户名密码列名,dump就是保存下来的意思,会保存在./sqlmap/output下,以excel表格的格式保存着下载下来的表的内容。 注入用户名密码加密值如图:
; V( ~* {* Y6 k' |4 {) u: w' H% [
2、通过对bin目录dll进行反编译解密管理员加密值登录后台 通过前面的sql注入可获取网站后台账号和密码加密值,为了更深入的测试网站后台是否存在其他漏洞,需要黑盒测试模拟黑客攻击进一步测试,故对网站目录bin目录下的dll进行反编译来获取加密密匙,最终成功解密密码。 把bin目录下的dll全部加载到Reflector中,然后通过跟踪常用用户密码相关的类函数,得出如下结果:
7 h* o( S0 z+ G @, H
6 X8 y, f* r0 ~/ [" `
8 S0 O' t8 Y5 l4 z1 e! Z$ R: P 得知密钥是fkue且为des加密,接着定位encrypt类函数找出其解密方式如图:
% ^6 O% K, V$ x* X3 }2 K
解密方式是把fkue使用md5进行加密,然后取32位md5加密值的前8位作为加密密钥,如图:
. |! U4 ]) s& v. R& b. `* \0 d4 R; F0 s* I: a
通过在线解密网站解密得知加密密钥就是:1110AF03。 前面sql注入步骤已经成功获取admin的加密值,如图:( ~ ~. R6 I* m2 ]" Y) {
, d+ n% p& e) P+ v. z
0 ?+ ]* _" O: w( N; j. r% y
解密admin管理员密码如图:
* t, g. ]- x: k( z
然后用自己写了个解密工具,解密结果和在线网站一致
; P) U c9 c& U4 v& K Y4 S4 d0 c6 K8 `# f
+ ~! D( ^. {% Q( w d% G# |4 D
; \6 R7 E* B a3 t 解密后的密码为:123mhg,./,登陆如图:
6 G9 {2 |( y+ s$ S
0 _5 w S4 B; y* A0 n1 ]; g/ R
3、后台上传绕过漏洞getwebshell如图: 登陆后台后,在添加信息处,会有上传图片的功能,随后使用burpsuite抓包如下图:
; `: [9 l/ R! ~/ b
5 m, [- J3 }- F. W) |
绕过上传限制,只需要把包里的filename的1.jpg改为1.aspx,即可成功上传webshell,如下图:
: \" g' I( U& a; j; ^+ d5 X 访问webshell如下图:- j; u3 s1 `& P4 W0 O
4、前台任意上传漏洞getwebshell 在目标站前台有注册账号功能,注册成功后,同样在上传图片处可直接上传webshell,链接为http://www.test.cn/userRegister.aspx,登录如图:3 K2 }, l2 t2 A4 N& a$ f+ i
$ v3 H; M7 q% X! H1 u# O 在上传证件或者头像的处可直接上传aspx 后缀的webshell,上传成功后,点右键-属性,可查看上传后的webshell路径为:http://www.test.cn/Admin/upload/demo.aspx 然后登录如图:
" H- p' r& r9 ~1 t
通过查看网站路径下的web.config文件得到mssql数据库配置账号为sa的密码并且以windows身份认证配置的系统登录账号密码如图:. N# ?! L6 k' F* {6 w) X& i
0 l; @7 A( k8 R5 g- D
% u! j- x1 q4 X3 Y! C' b; Z 可直接利用mssql sa权限执行系统命令添加管理员账号密码或者直接利用Windows登录密码webshell下利用lcx内网端口转发登陆3389。. d1 k1 R$ z U* a$ S& C$ G
总结:一套程序不应该只考虑其美观与功能强大,是要在满足安全的前提下再同时满足美观与功能。建议各个单位在系统上线之前,条件允许的情况下,首先进行白盒测试,其次进行黑盒测试,再次进行灰盒测试。如果通过白、黑、灰发现安全问题,那么就要再进行一轮这样的测试,直到系统难以被发现安全问题,然后再进行上线。特别是一些政府、企事业单位,数据面涉及基础人口等敏感数据,一旦遭到黑客攻击被泄露,给国家带来的损失是无法挽回的。好了以上就是今天分享的渗透内容,谢谢大家的收看!
. O/ u" J* @' q3 z1 X8 I ?) W# y$ c2 m" `2 ]3 i; w
| 欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) | Powered by Discuz! X3.2 |