1. 查看源码(简单)
可能有type=hide
2. 修改或添加http请求头
如修改发给服务器的请求中的HTTP头的ip地址,防止被拦截
工具:bp+foxyproxy
用到的函数修改头部IP:X-Forwarded-For:
3. 后台登录
万能密码,本质是sql注入,从而绕过后台,大部分网站会防止sql注入,因此我们要绕过他对我们的限制
username写 ' or 1=1 group by pwd with rollup limit 1 offset 2
4. 利用开发者工具控制台
eg:遇到jr代码,是js代码的一种,浏览器控制台可执行,直接复制到console里,enter,就会运行出来
5. 使用burp拦截
burp最常用的方法是用来抓包改包
6. 上传绕过
在文件后面加00的字节截断某些函数对00字节的判断
7. 简单sql注入
8. cookie
轻易地把本地的cookie删掉
9. hash函数
hash函数的两个分支,MD5,SHA-1
MD5目前已经不绝对安全,已被攻破,SHA-1目前算法绝对安全,但函数不绝对安全
利用hash函数的一个漏洞,username 和 password的SHA相等且username和password不可以相等,那么利用传入SHA1的值为数组,SHA1处理后为false则满足条件
10.代码审计
分析代码中的漏洞
a.输入符合条件的输入
b.二次url编码,可以骗过前端的一些检测
c.sql注入
d. 伪静态
把动态页面的地址转换成以htm或html结尾的地址,看起来是静态的,实际是依然是动态页面
实验吧中的代码审计
一、once more
PHP的%00截断漏洞
二、 PHP大法好
二次编码
三、 程序逻辑问题
直接将sql查询结果放到变量中,$query = mysql_query($sql); 给了注入可趁之机
直接联合查询:' union select
备份文件泄露
http://ctf5.shiyanbar.com/10/upload/step1.php
vim编辑器备份临时文件名一般为: .(name).swp
MD5碰撞
http://www.shiyanbar.com/ctf/1848