护网技能提升之护网常见攻击方式与漏洞原理
一、常见攻击方式及漏洞原理
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报错则存在注入
**O****R判断:**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参数中注入
P****OST请求注入:
-
使用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参数执行系统命令
O****PTIONS方法检测:
**安全方法:**仅允许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:\Users\xxx\Desktop\userpass.txt
成功获取用户名密码列表(root/test/oracle/admin/user)
常见敏感路径
Windows系统:
c:\boot.ini 系统版本信息
c:\windows\repair\sam 系统初始密码
c:\windows\php.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防护异常行为检测 | ★★★★ |
黑客&网络安全如何学习**
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。
内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,200多G的资源,不用担心学不全。
因篇幅有限,仅展示部分资料,需要见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————
本文转自 https://blog.youkuaiyun.com/bdfcfff77fa/article/details/149216518?spm=1001.2014.3001.5502,如有侵权,请联系删除。