web进阶了
BurpSuite、sqlmap
操作系统、Web服务器、Web语言、数据库
信息获取、权限获取
步骤:
1.探明web系统的语言、框架,首先满足能访问其正常功能。
2.查看是否有数据库功能,存在数据库一般都会有数据库的考点。
3.接着扫描目录,查看有没有源码或者其他提示性文件。
4.寻找输入点(包括输入框,文件上传点,XSS点等),根据语言特性,进行payload测试,挖掘语言上的漏洞。
5.考虑是否是操作系统或者web服务器的漏洞,会涉及到webpwn方面的只是。
语言:前端和后端
前端的考点主要出现在js上。
信息获取:Js加解密,XSS攻击,CSP防御机制绕过,CSRF等
权限获取:NodeJs代码审计,前端VUE,跨域
加解密对于JJENCODE、AAENCODE等方法要了解。
XSS攻击主要思路为寻找题目中BOT访问外界的点,然后查看有无CSP防御,并且根据题意构造payload。
重点:PHP JS、Mysql盲注 延迟注入、前端XSS、框架为laravel thinkphp以及CMS
重点:JAVA、数据库为Redis、框架Spring、区块链
NodeJs:寻找可利用的eval函数,构造语句使得eval函数可控;远程安装npm包实现命令执行。
PHP:1.Bypass,源于PHP语言本身书写时的一个漏洞,搜索php,靠积累;2.条件竞争:多个客户端同时访问一个服务器的功能所带来的非预期结果;3.反序列化:只要给了源码大概率是反序列化漏洞,思路为寻找起点和重点;4.文件包含:大部分考点在于LFI,本地文件包含,可以直接拿到shell的利用点;5.SSRF:服务端请求伪造,结合很多其他协议进行利用,达到攻击内网的目的;6.phar利用:经常和LFI结合,同时也京城结合反序列化等考点;7.文件上传绕过;7.框架考点:著名的框架一定要了解,例如-thinkphp、laravel、各种cms。
python:ssti服务端模板注入,这个是在python在CTF中最重要的考点之一;2.yml反序列化,PyYAML在解析数据的时候遇到特定格式的时间数据将会其自动转化为Python时间对象;3.JWT认证绕过;4.secret key泄露导致命令执行;5.django、flask、tornado等框架的漏洞
JAVA:1.srping框架考点;2.JAVA反序列化;3.代码审计。
数据库:1.sql注入;2.权限获取。
1.union select正常注入,比赛不太常见;2.bool型盲注,可以利用substr()、length()、ascii()、extractvalue()、updatexml()等函数进行暴力拆解;时间盲注;
特殊SQL注入:1.堆叠注入,专门朕对预处理防御以及select等关键字符被过滤后的注入方法。2.宽字节注入(%df\’=%df%5c%27=‘)
web服务器:1.linux上的服务器:apache,nginx服务器。考点为:服务器解析漏洞、LD_PRELOAD、nginx配置漏洞、apache栈溢出漏洞等。2.windows上的服务器:IIS。考点为:PUT发包上传漏洞,IIS远程溢出漏洞。3.服务器组件漏洞。考点为:apache组件提权漏洞,CGI漏洞(公共网关接口,配合nginx解析漏洞)
操作系统:1.操作系统中的目录遍历;2..so文件逆向分析;3.结合tensorflow进行机器学习考察(最近考点);4.区块链考点;5.CBC翻转攻击,哈希扩展攻击,padding oracle填充攻击
SSRF漏洞
gopher协议的利用
不支持空格编成%20,需要编成%2B。
gopher链接中 _POST/之后的和包内容需要二次编码
_GET/之后的呢日哦那个二次编码
robots.txt;ssrf.php
3D:=
26:&