7 Q4 r) Z. }; c0 I( Y
年终了,谈点个人入侵的经验〈转载〉1 \0 a }( I7 j$ M
- j9 z o( z* a5 ]( O, l, z
) ], d5 k6 _ C+ t; W' N Y( p) a- t. A7 D4 ~
这一年变化比较大,换了好几个工作,最终还是回到了安全的岗位,合乎自己的职业规划!8 b; l% L6 T5 z0 j; h; Q. m4 o
平时空闲时间经常找些站练练手,基本是新闻闹出轰动的站与一些知名的大站。2008年的成果还是颇丰的,从某某国内2大知名社区论坛到某某著名交友站到某某 2大读书站到某某mobile到某某政府站等大站,再到若干名不见经传的小站,都闪过的我的影踪。但我个人觉得没什么好炫耀的,于是没替换首页,没留下黑页,顶多是把源代码打包带回家(硬盘吃不消了,准备买个大的移动硬)。说句老实话,随便替换一个首页,就能让我出名,比如某某禁止降价的房产局站(服务器有黄片),比如某某闹禽流感的政府站,我都提前几天拿下了;不过我不想出名,更不想进局子~! g9 T9 y1 M9 f3 y$ X
下面谈谈个人入侵的经验,不分语言,只谈拿webshell,至于提权,这里不说,我也很少提权,除非确实有必要!~
2 L0 ]; m! t9 s# i1.无论什么站,无论什么语言,我要渗透,第一件事就是扫目录,最好一下扫出个上传点,直接上传shell,诸位不要笑,有时候你花很久搞一个站,最后发现有个现成的上传点,而且很容易猜到,不过这种情况发生在asp居多!
7 [/ \$ T9 i5 A/ f2.asp(aspx)+MSSQL先考虑注入,一般的注入都有DBowner权限可以直接写shell;如果写不了,或者web与数据库分离,那就猜数据,从后台下手了,后台可以上传或者改配置文件;
/ V3 m' r: B; u7 p" A3.asp(aspx)+ACCESS拿shell一般只有3种方法,一是前台上传或者注入进后台上传;二是注入进后台改配置文件;三是注入进后台备份数据库或者暴库后知道是asp或者asa数据库于是直接写一句话;4 L; m+ z/ C) i% j
4.php+MYSQL 一般是注入进后台上传,偶尔运气好些权限够高可以注入select into outfile;然后包含,分本地与远程,远程包含在高版本php是不支持的,于是想办法本地上传图片文件或者写到log里;然后php程序某某未公开的漏洞,运气好可以直接写shell。" s* w2 y( \2 ]5 I
5.jsp+MYSQL利用数据库拿权限方面基本同php,而且jsp的上传基本很少检查文件后缀,于是只要有注入点与后台,拿shell相当的容易。jsp+ORACLE的站我碰到的不多,碰到的也是猜出用户名与密码从后台下手的。
. C3 s7 B) U7 _4 P' i$ v6 \; U& a6.无论什么大站,主站一般都很安全(不然早被人玩了),于是一般从二级域名下手,猜出主站的某些用户名与密码或者搞到主站的源代码,或者旁注得到同网段服务器后cain或arp。
( f' {" {/ A- g4 o: V& p F7.一般的大站很少有用现成的CMS的,于是如果你有幸找到源码,那你就发了,注入漏洞啊,上传漏洞啊,写文件漏洞啊,都掌握在你手里。多看看那些大站新出来的测试分站点,那些站还在测试中,可以很轻松拿下。
+ T+ R# D" A2 B% }8.上传有个文件名截断,这包括2个方面,一是00截断,二是长文件名截断(曾经利用这个搞下hw);然后很多写文件的地方,都可以00,屡试不爽。上传别忘了.asp(当然.asa,.cer,.cdx都可以啦)目录的妙用。
' Z: S* `# u5 d9.php 站无论windows还是linux,都有magic_quotes_gpc的问题,magic_quotes_gpc为on的时候,在server变量注入的时候还是可以select into outfile,今年我搞过某未开源cms就是这个情况,一般情况下为on就别考虑写文件了,不过有这个权限别忘了读文件源码,因为load_file的参数是可以编码的。
) U) z" _' C/ p8 a6 ~% M) J/ ]' v: v4 X10.猜路径或者文件在入侵中非常必要,猜不到路径的时候别忘了google(baidu太烂,google很全),于是你可以考虑看站点下的robot.txt或者robots.txt,会有惊喜。
% V' ^& `1 Q! t6 e# E$ X11.工具的使用很重要,入侵之前用WVS扫扫会有助入侵;注入工具虽然很多,但不见得都好使,现在的软硬防火墙、防注入越来越厉害,那时候你就别偷懒,多手工有助你成长。
9 G, u' C. P7 ^! n12.遇到过一流监控么,遇到其他防post的防火墙么,有时候一句话进去了都无法传大马,那时候,你先学学编码,学学变换绕过。: U" C: b" t7 }/ j+ L
13.想搞一般的小站,记得查看这个小站的版权,找做这个站的公司,然后从这个公司做的其他站下手,得到源码再回头搞,我曾经通过这个方法拿下某知名制药的公司站。5 _2 f( V$ e2 d8 @
14.旁注的思路永远不过时,遇到dbowner的注入,可以很舒服写shell到你需要的站,省得麻烦的提权了;运气不好,按部就班拿shell提权得到你所需。
; E2 {# h1 t E% ]6 n15.永远别忘记社会工程学,利用社工把自己当成一个什么也不会的人,从某某站长的qq,身份证,邮箱等等下手,也许有时可能会有意外;另外别忘记admin,admin;test,test;123456,123456这种简单的尝试,当然,你也可以暴力破解。" f8 r. P- F; W1 ^7 E
16.别忽视XSS,别忽视cookie,XSS可以偷cookie,更有若干妙用,自己学会领悟;cookie可以伪造登陆,cookie可以注入,cookie注入可以绕绝大多数的防火墙。9 i+ c+ t% z) R4 B- k# v$ g, L5 k, P
17.平时搞站多多搜集路径啊,源码啊,工具啊,充实自己的“武器”库;最好把自己的入侵步骤记录下来,或者事后反思下,我一般都是记在txt里,另外要做到举一反三。$ {' s* I% [- X! l/ x! b
18.多学习,多看源码,多看公布出来的0day,脚本是入侵的前提,而不是工具,会用工具会装B你还没入门。
& |% v8 t! u7 j+ G; }最后奉劝诸位有事没事改人家首页的装B者,出来混,迟早是要还的,别等进了局子再后悔。还有一点,就是我搞N多站,没挂过一个马,至于很多挂马的人,我不知道该说什么,因为大家都喜欢钱,但是还是少为之吧。
! P/ |& @( U7 C# t2 [, Q今天心头一热,把一些还记得的心得写出来了,希望大家别拍砖,入侵的时候思路是很灵活的,只要不死板,总有一条使自己成功的路。如果大家有什么不解或者疑问需要讨论,欢迎来http://www.oldjun.com讨论或者加我QQ。
' a, o1 q% W' }& m% R还有不要抱着功利心去拿站,做安全的人靠不断拿站提升自己的技术与经验,也可以把自己的产品做的更好;若是急功近利或者为了什么利益,会...哎,不知道该怎么说...世人不知有因果,因果何曾饶过谁!9 [* b6 {/ J9 a. y% X3 v
祝大家元旦快乐!! R2 H! K3 j+ F$ D U
! P: F- Z; N7 ?: O @/ {# P2 Y
|