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