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