常见web攻击类型

在网络通信中,HTTP请求作为客户端与服务器交互的核心方式,常常成为攻击者的目标。以下是几种常见的HTTP请求攻击的典型类型:

一、跨站脚本攻击(XSS,Cross-Site Scripting)

原理 :攻击者在HTTP请求中注入恶意脚本(如JavaScript),当服务器未对输入内容进行过滤,直接将其返回给其他用户时,脚本会在用户浏览器中执行,窃取信息或篡改页面。
分类

  • 存储型XSS:恶意脚本被存储在服务器数据库(如评论区、用户资料),所有访问该页面的用户都会触发攻击。
  • 反射型XSS:恶意脚本通过URL参数等方式随HTTP请求发送,服务器"反射"该内容给用户,仅在单次请求中生效(需诱导用户点击恶意链接)。
  • DOM型XSS :攻击不经过服务器,直接通过修改页面DOM结构触发,依赖浏览器对输入的处理漏洞。
    危害:窃取Cookie、SessionID,伪造用户操作,传播恶意代码等。

二、SQL注入攻击(SQL Injection)

原理 :攻击者在HTTP请求的参数(如表单输入、URL参数)中插入恶意SQL语句,服务器若直接将参数拼接进SQL查询且未过滤,会导致数据库被非法访问(如查询、修改、删除数据)。
示例

正常登录请求参数为 username=admin&password=123,对应SQL为 SELECT * FROM users WHERE username='admin' AND password='123'

攻击者输入 password=' OR '1'='1,SQL变为 SELECT * FROM users WHERE username='admin' AND password='' OR '1'='1',由于 '1'='1' 恒为真,可绕过登录验证。
危害:泄露敏感数据(如用户信息、支付记录),删除数据库表,甚至获取服务器权限。

三、跨站请求伪造(CSRF,Cross-Site Request Forgery)

原理 :攻击者诱导已登录目标网站的用户,在不知情的情况下发送恶意HTTP请求(利用用户的身份凭证,如Cookie),完成非预期操作(如转账、修改密码)。
攻击流程

  1. 用户登录A网站(已认证,Cookie存在浏览器);
  2. 攻击者诱导用户访问恶意网站B,B中隐藏指向A网站的请求(如表单提交、图片加载);
  3. 浏览器自动携带A网站的Cookie发送请求,A网站误认为是用户主动操作,执行恶意指令。
    危害:执行未授权操作,如修改用户信息、发起交易等。

四、命令注入攻击(Command Injection)

原理 :若服务器在处理HTTP请求时,将用户输入直接作为系统命令的参数执行(如调用exec()system()等函数),攻击者可注入恶意命令控制服务器。
示例

某网站提供"ping测试"功能,用户输入IP后,服务器执行命令 ping [用户输入]。若用户输入 8.8.8.8; rm -rf /,服务器会先执行ping 8.8.8.8,再执行删除系统文件的命令。
危害:控制服务器操作系统,窃取文件、植入木马,甚至瘫痪系统。

五、文件上传漏洞攻击

原理 :服务器对HTTP请求中上传的文件(如图片、文档)未严格验证类型或内容,攻击者可上传恶意文件(如.php脚本),通过访问该文件执行代码。
攻击方式

  • 伪造文件后缀(如将malicious.php改为malicious.jpg,但服务器未验证文件内容);
  • 利用文件解析漏洞(如IIS的.php;.jpg解析为PHP文件)。
    危害:远程代码执行,控制服务器。

六、参数污染攻击(Parameter Pollution)

原理 :攻击者在HTTP请求中重复提交同一参数(如?id=1&id=2),利用服务器对参数解析的规则漏洞,篡改请求逻辑。
示例

某购物网站结算请求为 ?item=book&price=50,攻击者提交 ?item=book&price=50&price=10,若服务器取最后一个price值,会导致以10元购买商品。
危害:绕过验证、篡改数据、获取未授权信息。

七、HTTP头部攻击

攻击者通过篡改HTTP请求头(如HostRefererUser-Agent)实施攻击:

  • Host头攻击 :伪造Host值,利用服务器对主机名的信任,诱导生成包含恶意域名的链接(如密码重置链接);
  • Referer头伪造 :绕过基于Referer的来源验证,访问受限制资源。

防御建议

针对上述攻击,核心防御思路包括:

  • 对用户输入进行严格过滤和转义(如XSS、SQL注入);
  • 使用参数化查询(Prepared Statement)防止SQL注入;
  • 启用CSRF Token验证(如表单中添加随机令牌);
  • 限制文件上传类型,验证文件内容;
  • 遵循"最小权限原则"(如数据库账户仅授予必要权限)。

通过多层防护机制,可大幅降低HTTP请求被攻击的风险。

相关推荐
花菜会噎住35 分钟前
Vue3核心语法进阶(computed与监听)
前端·javascript·vue.js
花菜会噎住1 小时前
Vue3核心语法基础
前端·javascript·vue.js·前端框架
全宝1 小时前
echarts5实现地图过渡动画
前端·javascript·echarts
vjmap1 小时前
MCP协议:CAD地图应用的AI智能化解决方案(唯杰地图MCP)
前端·人工智能·gis
simple_lau2 小时前
鸿蒙设备如何与低功耗蓝牙设备通讯
前端
啃火龙果的兔子2 小时前
解决 Node.js 托管 React 静态资源的跨域问题
前端·react.js·前端框架
ttyyttemo3 小时前
Compose生命周期---Lifecycle of composables
前端
以身入局3 小时前
FragmentManager 之 addToBackStack 作用
前端·面试
sophie旭3 小时前
《深入浅出react》总结之 10.7 scheduler 异步调度原理
前端·react.js·源码
练习前端两年半3 小时前
Vue3 源码深度剖析:有状态组件的渲染机制与生命周期实现
前端·vue.js