护网技能提升之护网常见攻击方式与漏洞原理

admin 2025年7月9日02:28:48评论2 views字数 5629阅读18分45秒阅读模式
护网技能提升之护网常见攻击方式与漏洞原理
一、常见攻击方式及漏洞原理
1.SQL注入漏洞 
定义:将恶意的数据库语句注入到后台数据库去执行
本质:代码与数据不区分,用户输入的恶意数据作为命令或查询的一部分被发送到解析器执行
1)产生原因 
根本原因:程序未对用户提交的参数数据进行有效校验或过滤
执行机制:SQL语句拼接后被数据库执行
典型场景:用户可控参数直接拼接到SQL语句中
2)常见挖掘方式 
URL参数注入:直接对URL中的参数进行注入测试
POST包注入:使用Burp等工具抓取POST请求包进行注入测试
自动化工具:优先使用sqlmap等自动化工具而非手工注入
3)注入场景 
发生位置:所有用户可控参数的地方
常见位置:
    • URL路径信息
    • GET请求参数
    • HTTP请求头
    • POST请求参数
4)注入判断方法 
单引号判断:添加单引号后出现错误回显则可能存在注入
AND判断:
    • AND 1=1永真条件返回正常
    • AND 1=2报错则存在注入
OR判断:OR 1=1和OR 1=2返回不同结果则存在注入
XOR判断:正确语句返回错误页面,错误语句返回正确页面则存在注入
数字加减判断:原页面与id=10-1返回不同则存在注入
实际操作演示 
测试环境:使用DVWA(Damn Vulnerable Web Application)进行演示
安全等级设置:分为Low、Medium、High、Impossible四个级别
测试步骤:
    • 设置安全级别为Low
    • 输入1' and '1'='1测试永真条件
    • 输入1' and '1'='2测试永假条件
    • 使用order by判断字段数
    • 使用union select进行联合查询
常用注入语句:
    • 1' order by 2# 判断字段数
    • 1' union select 1,2# 确定回显位
    • 1' union select version(),database()# 获取数据库信息
    • 1' union select user,password from users# 获取用户凭证
5)不同请求方式的注入
GET请求注入:直接在URL参数中注入
POST请求注入:
    • 使用Burp Suite抓包
    • 修改POST参数进行注入
    • 保存请求为文本文件供sqlmap使用
sqlmap自动化注入:
命令:python sqlmap.py -r request.txt
可自动识别注入点类型
支持多种注入技术(布尔盲注、时间盲注等)
2.文件上传与文件包含漏洞
文件上传漏洞:攻击者上传恶意文件(如webshell)导致服务器沦陷
件包含漏洞:读取服务器本地文件内容
区别:文件上传是"写入"操作,文件包含是"读取"操作
3.文件上传与文件包含漏洞 
1)文件上传漏洞 
文件上传漏洞产生原因
四大成因:
    • 本地上传限制不严格:例如注册时要求上传图片却允许上传PHP脚本
    • HTTP方法配置不当:服务器未禁用PUT等不安全方法(标准安全配置应仅允许GET/POST/HEAD)
    • 服务器解析漏洞:Apache/Nginx/IIS等中间件的特定版本存在解析缺陷(2019年后大部分已修复)
    • 文件路径截断:PHP中常见的%00截断漏洞(十六进制0×000 times 000×00作为字符串终止符)
文件上传实战 
低级别漏洞利用:
    • 马示例:PHP一句话木马<?php @eval($_POST['xie']);?>,密码为"xie"
    • 上传过程:直接上传PHP文件后返回存储路径(如hackable/uploads/2.php)
    • 连接工具:中国菜刀/冰蝎/蚁剑等,需输入URL和密码建立连接
中级别绕过:
限制差异:服务端验证MIME类型(仅允许image/jpeg/png)
绕过方法:通过Burp修改Content-Type为image/jpeg(需在Hex视图修改十六进制数据)
服务端验证 
验证机制:
MIME定义:指定扩展名文件的打开方式(如GIF为image/gif,CSS为text/css)
验证过程:程序检查上传文件的Content-Type头信息
防御要点:
目录权限:设置上传目录不可执行
白名单校验:严格限制允许的文件类型(如仅JPG/PNG)
随机化处理:改写文件名和存储路径
文件上传漏洞网络实例 
HTTP PUT攻击:
击步骤:构造PUT /dav/yeahhub.php HTTP/1.1请求上传恶意文件
成功标志:响应状态码201表示文件创建成功
命令执行:通过?cmd=uname -a参数执行系统命令
OPTIONS方法检测:
安全方法:仅允许GET/POST/HEAD
防护措施:
Apache:利用rewrite模块拦截TRACE请求
IIS:通过URLScan工具禁用危险方法
文件上传漏洞解析 
Apache漏洞:
右向左解析:将xx.php.owf.rar识别为PHP文件执行
Nginx漏洞:
空字节截断:xx.jpg%00.php触发PHP解析(影响版本≤8.03)
IIS漏洞:
目录解析:xx.asp/xx.jpg将图片当作ASP执行
分号解析:xx.asp;.jpg忽略分号后内容
默认扩展:支持asp/asa/cer/cdx四种可执行文件
文件上传漏洞路径截断 
技术原理:
终止符特性:利用0×000 times 000×00截断后续字符串(如aaa.php%00bbb.jpg实际存储为aaa.php)
实现方式:需在Burp的Hex视图中修改十六进制数据头
限制条件:
PHP版本<5.3.29
magic_quotes_gpc=OFF
仅适用于路径截断(非文件名截断)
2)文件包含漏洞 
漏洞原理与危害
漏洞成因:开发人员为使代码更灵活,将包含文件设置为变量进行动态调用,导致客户端可任意调用隔离文件
直接危害:
可下载服务器敏感文件(脚本代码/系统配置文件等)
获取代码后可进行审计发现更多漏洞
高危函数:
代码执行类:eval()、assert()、system()、exec()、passthru()等
文件包含类:include()、include_once()、require()、require_once()
包含函数对比
require:找不到文件时产生致命错误(E_COMPILE_ERROR)并停止脚本
include:找不到文件时仅产生警告(E_WARNING),脚本继续执行
require_once:与require类似,但会检查重复包含
include_once:与include类似,但会检查重复包含
漏洞实例演示
基础利用:
通过参数包含本地文件:?page=123.txt
成功读取"凉风有信,秋月无边"测试文件内容
录穿越:
使用../跳转读取系统文件:?page=../../php.ini
可查看PHP配置参数(如allow_url_include状态)
敏感文件读取:
绝对路径读取桌面文件:?page=C:UsersxxxDesktopuserpass.txt
成功获取用户名密码列表(root/test/oracle/admin/user)
常见敏感路径
Windows系统:
c:boot.ini 系统版本信息
c:windowsrepairsam 系统初始密码
c:windowsphp.ini PHP配置
Linux系统:
/etc/passwd 账户信息
/etc/shadow 密码哈希
/usr/local/app/apache2/conf/httpd.conf Apache配置
漏洞防御要点
关键防御措施:
严格校验包含参数是否外部可控
限制文件路径范围,禁止目录跳转字符(如../)
实施白名单机制验证包含文件
避免动态包含,尽量使用固定路径写法
PHP配置要求:
allow_url_include必须为On状态
主要出现在PHP环境,ASP/JSP等较少见
4.命令执行漏洞 
1)命令执行漏洞—DVWA低级别 
漏洞本质:黑客可以随意执行系统命令,通过构造恶意输入绕过系统限制
代码特征:
使用shell_exec()函数直接执行用户输入的IP地址
未对用户输入$_REQUEST['ip']进行任何过滤或验证
根据操作系统类型拼接不同ping命令格式(Windows使用ping,*nix使用ping -c 4)
攻击示例:输入127.0.0.1&&netstat -ano可同时执行ping和查看网络连接
2)命令执行漏洞—DVWA中级别 
防护改进:
过滤了分号;和逻辑与&&符号
但未过滤单个&符号
命令连接符区别:
Command1&&Command2:仅当Command1成功时才执行Command2
Command1&Command2:无论Command1是否成功都会执行Command2
绕过方法:使用未过滤的&连接命令,如127.0.0.1&netstat -ano
高级别特征:
过滤了大部分特殊符号
但未过滤空格和管道符|
可通过127.0.0.1 | whoami获取系统用户名
3)命令执行漏洞防御方式 
防御措施:
禁用危险函数:尽量避免使用shell_exec()等命令执行函数
使用替代方案:用PHP内置函数替代需要调用系统命令的功能
输入过滤:严格过滤用户输入中的特殊字符和命令分隔符
及时更新:保持框架和系统补丁最新,修复已知漏洞
5.逻辑漏洞 
1)逻辑漏洞的分类
水平越权:
相同权限用户间的越权操作
典型场景:通过修改userID参数访问其他用户数据
直越权:
不同权限用户间的越权操作
典型场景:普通用户获取管理员权限
2)逻辑漏洞的发生场景 
登录/注册环节:
暴力破解、验证码绕过、批量注册
台/找回功能:
密码重置漏洞、短信验证码劫持
特殊系统:
越权访问、个人信息泄露
留言评论:
CSRF、存储型XSS、用户名枚举
3)逻辑漏洞案例 
案例特征:
某相亲APP验证码系统存在缺陷
可拦截并暴力破解短信验证码
实现任意用户密码登录
攻击方法:
抓取验证码请求包
使用工具进行暴力破解
绕过验证机制直接登录
二、护网技能提升 
1.逻辑漏洞案例 
1)绕过验证码进行任意用户注册
洞原理:某相亲APP存在短信验证码获取功能,攻击者可通过抓取验证码字段进行暴力破解,实现任意用户密码登录。
攻击过程:通过Burp Suite等工具抓取验证码请求,使用Intruder模块对验证码字段进行暴力破解尝试(如从000000到999999)。
实际案例:经济大佬成功绕过限制注册会员号,演示中验证码字段被破解范围为000400-389900。
连带风险:该漏洞常伴随短信炸弹漏洞,攻击者可无限制触发验证码重发,导致目标手机连续接收多条验证短信。
2)未授权访问/目录遍历
未授权访问:某医院系统存在URL直接访问管理员页面漏洞,内网环境下无需账号密码即可越权访问。
目录遍历:通过扫描后台目录可能发现敏感脚本或文件,如案例中显示的confie文件、lang目录等。
客户反馈差异:客户声称系统需要账号密码,但实际测试发现可直接访问,说明存在权限校验缺失问题。
2.弱口令案例 
1)常见弱口令类型
典型模式
账号密码相同(如admin/admin)
通用弱口令(如123456/123456)
社会工程学密码(如姓名+生日)
整改难点:虽然技术上容易修改(如123456→123455),但实际执行中总有用户不遵守规定,案例中三亚教育局因此失分20分。
2)社工获取用户权限
攻击步骤:
寻找公示密码规则的系统(如校园平台提示"学号+身份证后6位")
通过遗失声明等公开信息获取学号名单
利用特殊姓氏缩小搜索范围(如案例中选择"黎"姓学生)
通过社交网络搜索获取身份证信息
实际案例:通过学校贴吧找到黎同学身份证号,用学号+身份证后六位登录后,成功修改其统一认证平台密码。
防御建议:应避免在登录页面明示密码规则,同时对敏感信息(如学号-身份证关联)进行脱敏处理。
3)医疗系统弱口令爆破
爆破过程:使用Burp Intruder对医生账号进行批量测试,成功匹配多个123456弱口令账号。
后续利用:获取基础权限后可尝试XSS攻击、图片马上传等进一步渗透。
三、问答阶段 
技术问题:DVWA平台搭建时遇到exec函数禁用问题,可能与PHP版本有关(5.2可用但5.4不可用)。
解决方案:建议保持PHP5.2环境或检查php.ini的disable_functions配置。
四、知识小结

知识点
核心内容
实操演示/案例
防御措施
难度系数
SQL注入漏洞
恶意SQL语句注入后台数据库执行,本质是代码与数据不区分
DVWA平台演示:- 单引号判断注入点- and 1=1永真条件测试- SQLmap自动化工具使用
参数校验与过滤预编译语句最小权限原则
★★★☆
文件上传漏洞
上传恶意脚本文件获取服务器权限4大成因:1. 本地限制不严2. HTTP方法配置不当3. 服务器解析漏洞4. %00截断
- 低级别直接上传PHP木马- 中级别修改Content-Type绕过- PUT方法上传案例
目录不可执行白名单校验随机化文件名
★★★★
文件包含漏洞
动态调用文件时未过滤路径关键函数:include/requireinclude_once/require_once
- 读取/etc/passwd- 查看PHP配置文件- 目录遍历攻击对比
禁用危险函数路径白名单关闭allow_url_include
★★★☆
命令执行漏洞
系统命令被恶意执行过滤绕过技巧:- &&和&区别- 管道符|利用
- DVWA三级难度测试- SAP Netweaver漏洞- Struts2框架漏洞
禁用危险函数输入过滤框架补丁更新
★★★★
逻辑漏洞
业务流设计缺陷类型:- 水平越权(同权限)- 垂直越权(跨权限)
- 相亲APP验证码爆破- 未授权访问后台- 短信炸弹攻击
权限二次校验验证码防爆破会话超时机制
★★★★☆
弱口令漏洞
默认凭证/简单密码社工攻击路径:- 学号+身份证后六位- 密码喷洒攻击
- admin/admin测试- 123456密码爆破- 高校系统社工案例
强制复杂度策略多因素认证登录失败锁定
★★☆
工具链
渗透测试工具集:- Burp Suite抓包- SQLmap自动化注入- 菜刀/冰蝎连接木马
代理设置与数据包修改POST请求注入技巧木马连接故障处理
网络流量监控WAF防护异常行为检测
★★★

原文始发于微信公众号(运维星火燎原):护网技能提升之护网常见攻击方式与漏洞原理

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年7月9日02:28:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   护网技能提升之护网常见攻击方式与漏洞原理https://cn-sec.com/archives/4229839.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息