CTF 学习中一些知识整理。
CTF Web方向总结
一些基础知识和软件
- HTTP协议
- PHP基础
- Python基础
- Burpsuite
- curl/httpie
- Webdir-scan 比如这个repo
- Python-requests/re 来爆破
探测
- 扫描端口
- 扫描(爆破)文件
- 使用
Burpsuite
或者http/curl
等工具直接查看Request
和Response
,因为浏览器会帮你忽略很多东西。 - Cookies/Session
php 漏洞
MD5绕过
形如md5($key1) == md5($key2) && $key1 !== $key2
key1[]=1
的数组可以绕过,变为NULL
。
也可以利用0e[0-9]*
的哈希值绕过,比如下列字符串均可。
QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
s214587387a
==
很多类型不同的比较,都会在转换之后变得可以被利用。
ereg
ereg ( string pattern , string $string [, array ®s ] ) : int
DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0.
- (利用本身的正则)绕过或者(数组、%00)截断
文件包含漏洞
php://input
从Request的数据中读取内容, 可在文件包含漏洞中使用。
php://filter
php://filter/convert.base64-encode/resource=index.php
反序列化漏洞
本质是利用该漏洞控制数据(而不是结构)。 入门题bugku
一些参考资料
数据库注入
https://www.restran.net/2018/10/29/ctf-sqli-notes/
sqlmap 与 python盲注 https://www.twblogs.net/a/5ba424012b71771a4daa4993/zh-cn