常见的web攻击

时尚 2026-10-17 05:15:11 71
```html

常见的攻击web攻击

去年有个做电商的朋友找我,说后台突然多出一批0元订单。攻击查了半天,攻击发现是攻击有人在商品ID参数里塞了1 OR 1=1,直接把查询条件给绕过去了。攻击这就是攻击最经典的SQL注入,二十多年了,攻击还在伤人。攻击

SQL注入的攻击原理不复杂。网站把用户输入拼进SQL语句里,攻击输入没过滤干净,攻击攻击者就能改变原本的攻击查询逻辑。比如登录框输入' OR '1'='1,攻击密码验证那一段直接变成永真条件,攻击人就进去了。攻击防御手段其实很成熟——参数化查询,也就是预编译语句,让数据和指令彻底分开。但总有人图省事用字符串拼接,尤其是老项目、外包代码、赶工期的产品。

比SQL注入更普遍的是XSS,跨站脚本攻击。你在评论区打一段<script>alert(1)</script>,如果网站原样输出到页面上,这段脚本就会在所有访客的浏览器里执行。alert弹窗只是恶作剧,真拿来干坏事的话,可以偷Cookie、劫持会话、伪造登录。XSS分三种:存储型最危险,恶意脚本存进数据库,每个访问页面的人都中招;反射型需要诱导你点特定链接;DOM型则完全在前端JS里发生,服务端根本看不到。

我见过一个论坛,用户签名档没做转义,有人写了个自动关注所有用户的脚本,一晚上涨了几万粉。防御XSS的核心就一条:输出到HTML页面时做实体编码,把<变成&lt;,把>变成&gt;。不同上下文编码规则还不一样,HTML属性里、JS变量里、CSS里,各有各的坑。

CSRF是另一种思路。它不偷你的数据,而是借你的手发请求。你登录了银行网站,Cookie还在。这时候你打开一个恶意页面,里面藏了个<img src="https://bank.com/transfer?to=hacker&amount=10000">,浏览器会自动带上你的Cookie去请求这个地址。银行以为是本人操作,钱就转走了。防御CSRF靠的是加随机Token,每个表单带一个服务端生成的不可预测值,第三方页面拿不到这个值,请求就伪造不了。SameSite Cookie属性也能挡掉大部分场景。

文件上传漏洞也值得说。有些网站只在前端用JS检查文件后缀,抓包改一下就能传个.php上去。传上去之后如果那个目录还能被访问执行,等于把服务器控制权交出去了。我见过最离谱的,上传目录直接暴露在Web根目录下,连解析都不用,传个webshell上去就能执行系统命令。防御要点:白名单校验后缀、重命名文件、存储目录禁止执行权限、最好放到独立域名或对象存储里。

命令注入和文件包含属于同一类问题——把用户输入当代码执行了。比如ping功能,用户输入IP地址,后台拼成ping -c 4 用户输入。如果输入的是127.0.0.1; cat /etc/passwd,分号后面的命令也会被执行。文件包含则是include($_GET['page'])这种写法,攻击者可以包含远程服务器上的恶意文件,或者用../../../etc/passwd读取敏感文件。

说几个真实数据。OWASP每几年会更新一次Top 10榜单,注入和XSS几乎从没掉出过前几名。Veracode的扫描报告显示,超过60%的Web应用存在至少一个高危漏洞。这不是危言耸听,是行业常态。很多团队不是不知道这些攻击,是觉得“我们小公司没人盯上”。但自动化扫描工具每天在互联网上爬,SQL注入的payload一天能被尝试几万次,跟你公司大小没关系。

写代码的时候多问一句:这个输入如果是我来攻击,能玩出什么花样?参数化查询、输出编码、CSRF Token、文件白名单,这些都不是新技术,但真正每行代码都做到位的团队,我见过的不到三成。安全不是加个WAF就完事了,WAF只能挡已知特征,绕过手法更新得比规则库快。根子还是在代码本身。

```
本文地址:http://www.79wt.cn/news/610d9199298.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

友情链接