注:各位同仁,今天晚上主要防止被限号来凑个数字,这篇文章本来是给一个机构做科普的,所以写的有点怎么说,反正土司的人看了会骂哈哈,大家凑合的看,文中哪怕有那么一点半点东西,能给大家带来启发,那么我这个文章就没白发,所以大佬们轻点喷哈哈,嘴下留情哈哈。 1、POST注入猜解网站管理员账号密码 通过awvs扫描发现存在注入,直接在avws下的Scans---target下点击你扫描的过目标如图:
8 J4 P& c/ z3 ~$ W4 k, z4 C& L X : e+ \) Q: u) n0 F
" C) @2 F/ w, m8 H- S: a; N; I% z& P' i 然后点vulnerabilities,如图:: u) d4 V- }3 D# ^3 I" W
% K( h; @, K6 \4 P ) @* V( E4 a4 d7 [) v- w
- J/ p* |& o, s, V: A2 h7 q' g0 Z _ w. i; j 点SQL injection会看到HTTPS REQUESTS,如图:
4 x. b5 M9 u; R! E
0 K9 [5 c4 w+ C7 j, {1 W8 k获取到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-8
; K5 M/ q" W0 W5 A; M8 Y# O0 t4 OType=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表格的格式保存着下载下来的表的内容。 注入用户名密码加密值如图:% S+ |( k2 h6 y- |" B+ R L
1 V/ u+ V9 [; _% K% ] : y( ?" s3 k, F: o) K( A
' Z* }% r- `. M% Q 2、通过对bin目录dll进行反编译解密管理员加密值登录后台 通过前面的sql注入可获取网站后台账号和密码加密值,为了更深入的测试网站后台是否存在其他漏洞,需要黑盒测试模拟黑客攻击进一步测试,故对网站目录bin目录下的dll进行反编译来获取加密密匙,最终成功解密密码。 把bin目录下的dll全部加载到Reflector中,然后通过跟踪常用用户密码相关的类函数,得出如下结果:
1 v$ P( O3 {' r) x* `7 u
4 P- U( K2 o9 _ ! T# I5 c# ]1 \: U" P% e, O
+ X. q' F5 T/ L2 P7 ]' c- h, z6 T. c6 v( V/ f+ r. M) s+ \ 得知密钥是fkue且为des加密,接着定位encrypt类函数找出其解密方式如图:) Z+ N0 ]( E: `& q+ M: }4 `
6 Y! X; K. `' g7 T0 y
解密方式是把fkue使用md5进行加密,然后取32位md5加密值的前8位作为加密密钥,如图:/ t6 @' c( W+ k3 i& r( n- ?
* c8 o6 r- K H& F / Y _6 |5 p$ A
通过在线解密网站解密得知加密密钥就是:1110AF03。 前面sql注入步骤已经成功获取admin的加密值,如图:/ s- i, o' K/ H3 O0 U+ C9 z
( ^8 C7 l' L7 i0 A; h4 U. i! p* W. F6 N2 A% l& o1 W
解密admin管理员密码如图:
2 N7 u6 [- K8 e" H: ~ ! A1 p5 V/ c; b1 d
( G6 Z6 M+ z# b5 B; i+ P6 `7 r" c, p& x0 D# w1 C' H 然后用自己写了个解密工具,解密结果和在线网站一致& [% u1 e5 z2 Q: Q+ z) K
p( A' A8 D7 Z4 _ ~! P, i2 M8 G8 @( s
解密后的密码为:123mhg,./,登陆如图:6 V% q0 Q/ B, e
( b; s, ?6 F/ S+ j" i- z/ J. u# c/ {( X& M , w; M* O# L% _3 i
' Q- j- }7 ^( T+ K- W 3、后台上传绕过漏洞getwebshell如图: 登陆后台后,在添加信息处,会有上传图片的功能,随后使用burpsuite抓包如下图:
* ` o" G/ ~- {) o/ f) z5 x! s' C# ~6 i0 {' }- Y: m) m 6 K4 S2 Q7 ]: R+ ~
+ L* Y5 p. [) N4 E- V( D 5 y- F, B( a2 A* s. k- A, y7 v# }
4 h0 {7 @, ?) {: g& t* F 绕过上传限制,只需要把包里的filename的1.jpg改为1.aspx,即可成功上传webshell,如下图:( h" c. j! t t/ K* \3 Z, v
; K- u/ F2 p% y. u. o
% I% {' p# Y! N. T! [ 访问webshell如下图:/ s: s" a% U3 W; J
; v/ F' Y! a) _) y
0 B; A5 p, t$ `% q% J2 @/ z2 c4、前台任意上传漏洞getwebshell 在目标站前台有注册账号功能,注册成功后,同样在上传图片处可直接上传webshell,链接为http://www.test.cn/userRegister.aspx,登录如图:7 n+ x9 L! Z7 R5 y$ L( m
' H# w, K d" m a% F* W% d" r( M) A j. D W1 \- A# Z+ Y
在上传证件或者头像的处可直接上传aspx 后缀的webshell,上传成功后,点右键-属性,可查看上传后的webshell路径为:http://www.test.cn/Admin/upload/demo.aspx 然后登录如图:
) q2 z$ M$ Q) z/ P% B' x
& v% O/ k! }/ g通过查看网站路径下的web.config文件得到mssql数据库配置账号为sa的密码并且以windows身份认证配置的系统登录账号密码如图:" w( Q5 o8 W+ H8 W7 k
- ?: r( X0 ?/ O5 _8 B/ W+ K- i+ \' n* k- ~3 [# J* y8 c
( S9 O( M; M6 ?4 l$ N) y" i, x# }- ]* u: b0 n" w 可直接利用mssql sa权限执行系统命令添加管理员账号密码或者直接利用Windows登录密码webshell下利用lcx内网端口转发登陆3389。
9 t6 x" v1 W' U; x4 M5 ?3 p总结:一套程序不应该只考虑其美观与功能强大,是要在满足安全的前提下再同时满足美观与功能。建议各个单位在系统上线之前,条件允许的情况下,首先进行白盒测试,其次进行黑盒测试,再次进行灰盒测试。如果通过白、黑、灰发现安全问题,那么就要再进行一轮这样的测试,直到系统难以被发现安全问题,然后再进行上线。特别是一些政府、企事业单位,数据面涉及基础人口等敏感数据,一旦遭到黑客攻击被泄露,给国家带来的损失是无法挽回的。好了以上就是今天分享的渗透内容,谢谢大家的收看!: ^$ f, u) {4 Q1 s$ W3 `
; o. d: ?* s6 u" E1 A8 _
, y' T2 K) B$ L& k! W8 u2 [欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) | Powered by Discuz! X3.2 |