1.信息收集
确认os centos/ub/ 确认CMS:THINKPHP&struct2/等
常见漏洞类型:
2.sql
类型:
简单无过滤,宽字节(前段GBK),花式绕过mysql(结合php特性),绕过关键字,MongoDB注入(Nosql注入:Nosqlmap) http头注入(XFF Referrer) 二次注入
工具:
burp hackbar sqlmap nosqlmap 自写脚本
常用技巧:
案列:
3.XSS
类型:
简单存储型xss盲打后台 各种浏览器auditor绕过 富文本过滤黑白名单 CSP绕过 Flash xss AngularJS客户端模板XSS
工具:
burp hackbar swf-decomplie xss-platform flasm doswf Crypt-Flow(swf加密)
技巧:
简单无过滤,盲打后台(留言版,评论区) 过滤标签,尝试各种绕过 存在安全策略CSP,尝试绕过方法 逆向swf文件(审计源码,构造xsspayload)
案列:
4.代码审计
类型:
ASP,php,Python,Java,Perl审计 找源码技巧(git,xxx.php(linux下的隐藏文件).bak,svn,.xxx,xxx.php.swp(o/n)(异常退出后留下的文件))
工具:
seay githack strings grep
审计技巧:
5.文件上传
类型:
00截断上传(burp) multipart/form-data大小写绕过(针对文件类型过滤策略进行大小写绕过) 花式文件后缀(.php234,.inc,.phtml,.phpt,.phps)(有时候黑名单限制时,这些扩展名也能正常解析) 各种文件内容检测(最常见去检测文件前两个字节,那么可以通过修改绕过) 各种解析漏洞(比如nginx下fastcgi,xxx.php/a.jpg 他只会去解析xxx.php) 花式打狗 在线编辑器利用(fckeditor 2.0<=2.2 允许上传asa,cer,php,php4,inc,pwml,pht后缀的文件 上传后它保存的文件直接用的$sFilePath = $sServerDir,$sFileName,而没有使用$sExtension为后缀,直接导致在win下上传文件后面加个.来突破) 文件包含(可上传一个文本文件,里面是php代码,然后通过文件包含的形式去执行代码)
工具:
hackbar burp webshell脚本 菜刀 AntSword
解题思路:
无限制,查看响应 只是前端过滤后缀名,抓包绕过 是否存在截断上传 是否对文件头检测(用图片马) 是否对内容检测(编码,变异的一句话) 是否上传马被杀(免杀) 是、是否存在解析漏洞(Apache Nginx-fastcgi,JBoss,tomcat,jetty ,Bea webLogic) http头以两个CRLF(相当于\r\n\r\n)作为结尾,\r\n没有被过滤时,可以利用\r\n\r\n作为URl参数截断http头,后面跟上注入代码
举例:HTCTF2016
6.php类型特性:
类型:
php弱类型(字符串与int相互转换) intval(1.000000000000000000000001在intval函数过滤后为1) strpos和=== 反序列化+destruct \0截断导致的命令注入 iconv截断(%00) parse_str 伪协议(phpinput/)
工具:
hackbar burp 在线调试环境:www.shucunwang.com/RunCode/php/
思路:
案列:
7.后台登陆类:
案列:
8.加解密类
js加解密:HTCTF300或400