直接查看网页源代码,即可找到flag
robots.txt
查看http请求/响应
使用burp查看http头部信息,修改或添加http请求头(referer--来源伪造,x-foreworded-for--ip伪造,user-agent--浏览器用户,cookie--维持登录状态,用户身份识别)
可以用hackbar,有的可以写脚本
get和post
响应
不常见类型的请求发送
http头相关的题目
主要是查看和修改http头
不同类型对应不同方法,基本离不开抓包,有些简单可以利用f12的网络标签解决
熟悉一些常见请求头的格式、作用
查看响应头
会有hint或者题目关键信息
有些会直接把flag放响应头里
修改请求头、伪造cookie
set-cookie、XFF、Referer,考法灵活,做法比较固定,知道一些常见的请求头再根据题目随机应变
可能需要伪造cookie
可以用抓包,或f12“网络”标签直接改
域名解析、伪造host
ctf之流量分析
ctf之日志审计
webshell
通过扫描后台路径,发现他人留下的webshell
web源码泄漏
vim源码泄漏
如果发现页面上有提示vi或vim,说明存在swp文件泄漏,地址:/.index.php.swp或index.php~
恢复文件vim -r index.php,备份文件泄漏
地址:index.php.bak,www.zip,htdocs.zip,可以是zip,rar,tar.gz,7z等
.git源码泄漏
svn导致文件泄漏
Git源码泄露
flag一般在源码的某个文件里,但也有和其他知识结合、需要进一步利用的情况
编码和加解密,各类编码和加密
可以使用在线工具解密,解码
windos特性,短文件名
利用~字符猜解短文件/文件夹名,如backup-81231ffffff.sql的长文件,其短文件是backup~1.sql,iis解析漏洞,绕过文件上传检测
php弱类型
php伪协议
经常跟文件包含,文件上传,命令执行等漏洞结合在一起
绕waf
大小写混合,使用编码,使用注释,使用空字节
python爬虫信息处理
一般给一个页面,页面中有算式或者是一些数字,要求在很短的时间内求出结果并提交,如果结果正确就可以返回flag。一般时间很短计算较复杂,所以只能写脚本。脚本一般需要用到request库BeautifulSoup库(或者re库(正则表达式))
php代码审计
数组返回NULL绕过
正则表达式相关
ereg正则%00截断
ereg函数存在null截断漏洞,使用null可以截断过滤,所以可以使用%00截断正则匹配
数组绕过
正则表达式相关的函数也可以使用数组绕过过滤,绕过方法参考数组返回null绕过
单引号绕过preg_match()正则匹配
在每一个字符前加上单引号可以绕过preg_match的匹配
命令执行漏洞
assert()函数引起的命令执行
asser函数的参数为字符串时,会将字符串当做php命令来执行
eg.assert('phpinfo()')相当于执行<?php phpinfo()?>
XSS题目
一般是向后台发送一个带有XSSpayload的文本,在返回的cookie中含有flag
一般都会带有过滤和各种限制,需要了解一些常用的绕过方法
JavaScript的威力有多大,xss的威力有多大
要知道常用的XSSPayload,还要把三类xss原理弄明白。
做题需要用到xss平台
绕过waf
长度限制
可以用bp抓包改包绕过,或直接改源代码
双写
双写可以绕过输入内容过滤的单次判断。讲被过滤的关键字符写两遍
等价替代
就是不用被过滤的字符,而使用没有被过滤却会产生相同效果的字符
如果sql注入中过滤了空格,可以用/* */绕过对空格的限制;
xss过滤了<script>标签,可以使用其他类型的payload
使用cat命令却被过滤,可以使用tac、more、less命令代替
URL编码绕过
如果过滤了必须要用的字符串,输入的内容是以get方式,可以用url编码绕过
过滤了cat,使用c%61t绕过
linux命令使用反斜杠绕过
命令中加入反斜杠与原命令完全等价
cat与ca\t等价
仅限于命令执行漏洞
URL二次解码绕过
如果出现了urldecode()函数,可以利用url二次解码绕过
数组绕过
上传绕过
使用sqlmap
使用教程:https://www.jianshu.com/p/4509bdf5e3d0
爆破
python直接上脚本
参考资料:网上不知名大佬流传整理的资料,感谢能看到