谈点个人网站安全检测的经验平时空闲时间经常找些站练练手, 基本是新闻闹出轰动的站与一些知名的大站。 2008年的成果还是颇丰的, 从某某国内2大知名社区论坛到某某著名交友站到某某2大读书站到某某mobile到某某政府站等大站, 再到若干名不见经传的小站, 都闪过的我的影踪。 但我个人觉得没什么好炫耀的, 于是没替换首页, 没留下黑页, 顶多是把源代码打包带回家(硬盘吃不消了, 准备买个大的移动硬)。 说句老实话, 随便替换一个首页, 就能让我出名, 比如某某禁止降价的房产局站(服务器有黄片), 比如某某闹禽流感的政府站, 我都提前几天拿下了;不过我不想出名, 更不想进局子~
下面谈谈个人入侵的经验, 不分语言, 只谈拿webshell, 至于提权, 这里不说, 我也很少提权, 除非确实有必要!~
1.无论什么站, 无论什么语言, 我要渗透, 第一件事就是扫目录, 最好一下扫出个上传点, 直接上传shell, 诸位不要笑, 有时候你花很久搞一个站, 最后发现有个现成的上传点, 而且很容易猜到, 不过这种情况发生在asp居多!
2.asp(aspx)+MSSQL先考虑注入, 一般的注入都有DBowner权限可以直接写shell;如果写不了, 或者web与数据库分离, 那就猜数据, 从后台下手了, 后台可以上传或者改配置文件;
3.asp(aspx)+ACCESS拿shell一般只有3种方法, 一是前台上传或者注入进后台上传;二是注入进后台改配置文件;三是注入进后台备份数据库或者暴库后知道是asp或者asa数据库于是直接写一句话;
4.php+MYSQL一般是注入进后台上传, 偶尔运气好些权限够高可以注入select into outfile;然后包含, 分本地与远程, 远程包含在高版本php是不支持的, 于是想办法本地上传图片文件或者写到log里;然后php程序某某未公开的漏洞, 运气好可以直接写shell。
5.jsp+MYSQL利用数据库拿权限方面基本同php, 而且jsp的上传基本很少检查文件后缀, 于是只要有注入点与后台, 拿shell相当的容易。 jsp+ORACLE的站我碰到的不多, 碰到的也是猜出用户名与密码从后台下手的。
6.无论什么大站, 主站一般都很安全(不然早被人玩了), 于是一般从二级域名下手, 猜出主站的某些用户名与密码或者搞到主站的源代码, 或者旁注得到同网段服务器后cain或arp。
7.一般的大站很少有用现成的CMS的, 于是如果你有幸找到源码, 那你就发了, 注入漏洞啊, 上传漏洞啊, 写文件漏洞啊, 都掌握在你手里。 多看看那些大站新出来的测试分站点, 那些站还在测试中, 可以很轻松拿下。
8.上传有个文件名截断, 这包括2个方面, 一是00截断, 二是长文件名截断(曾经利用这个搞下hw);然后很多写文件的地方, 都可以00, 屡试不爽。 上传别忘了.asp(当然.asa, .cer, .cdx都可以啦)目录的妙用。
9.php站无论windows还是linux, 都有magic_quotes_gpc的问题, magic_quotes_gpc为on的时候, 在server变量注入的时候还是可以select into outfile, 今年我搞过某未开源cms就是这个情况, 一般情况下为on就别考虑写文件了, 不过有这个权限别忘了读文件源码, 因为load_file的参数是可以编码的。
10.猜路径或者文件在入侵中非常必要, 猜不到路径的时候别忘了google(baidu太烂, google很全), 于是你可以考虑看站点下的robot.txt或者robots.txt, 会有惊喜。
11.工具的使用很重要, 入侵之前用WVS扫扫会有助入侵;注入工具虽然很多, 但不见得都好使, 现在的软硬防火墙、防注入越来越厉害, 那时候你就别偷懒, 多手工有助你成长。
12.遇到过一流监控么, 遇到其他防post的防火墙么, 有时候一句话进去了都无法传大马, 那时候, 你先学学编码, 学学变换绕过。
13.想搞一般的小站, 记得查看这个小站的版权, 找做这个站的公司, 然后从这个公司做的其他站下手, 得到源码再回头搞, 我曾经通过这个方法拿下某知名制药的公司站。
14.旁注的思路永远不过时, 遇到dbowner的注入, 可以很舒服写shell到你需要的站, 省得麻烦的提权了;运气不好, 按部就班拿shell提权得到你所需。
15.永远别忘记社会工程学, 利用社工把自己当成一个什么也不会的人, 从某某站长的qq, 身份证, 邮箱等等下手, 也许有时可能会有意外;另外别忘记admin,admin;test,test;123456,123456这种简单的尝试, 当然, 你也可以暴力破解。
16.别忽视XSS, 别忽视cookie, XSS可以偷cookie, 更有若干妙用, 自己学会领悟;cookie可以伪造登陆, cookie可以注入, cookie注入可以绕绝大多数的防火墙。
17.平时搞站多多搜集路径啊, 源码啊, 工具啊, 充实自己的“武器”库;最好把自己的入侵步骤记录下来, 或者事后反思下, 我一般都是记在txt里, 另外要做到举一反三。
18.多学习, 多看源码, 多看公布出来的0day, 脚本是入侵的前提, 而不是工具, 会用工具会装B你还没入门。
最后奉劝诸位有事没事改人家首页的装B者, 出来混, 迟早是要还的, 别等进了局子再后悔。 还有一点, 就是我搞N多站, 没挂过一个马, 至于很多挂马的人, 我不知道该说什么, 因为大家都喜欢钱, 但是还是少为之吧。
还有不要抱着功利心去拿站, 做安全的人靠不断拿站提升自己的技术与经验, 也可以把自己的产品做的更好;若是急功近利或者为了什么利益, 会...哎, 不知道该怎么说...世人不知有因果, 因果何曾饶过谁!
……