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