查网站漏洞
去年冬天,查网一个做跨境电商的站漏朋友找我,说他的查网独立站突然被谷歌标了“此网站可能被黑客入侵”。他一脸懵:服务器没挂,站漏页面正常打开,查网订单照走,站漏怎么就被标了?查网我让他把网站源码打包发我。打开一看,站漏首页底部多了一行不起眼的查网``。那域名长得像统计代码,站漏实际是查网个赌博引流脚本,只在移动端加载,站漏桌面端访问根本看不见。查网 这就是站漏典型的网站漏洞被利用——攻击者没改你页面,只往数据库或模板里塞了一行代码。查网你每天看后台数据都正常,但搜索引擎爬虫和部分用户已经中招。查漏洞这件事,靠“感觉网站没异常”完全不靠谱。 很多人一上来就扫全站,跑一堆工具,结果报告几百页,真正有用的没几条。我的习惯是先理清网站的数据流:用户从哪个表单提交数据,数据存到哪张表,最后在哪个页面输出。这三个环节里,任何一个没做好过滤,都是漏洞的温床。 拿最常见的SQL注入来说。你有个商品详情页,URL长这样:`product.php?id=123`。如果后端代码写成`SELECT * FROM products WHERE id = $_GET['id']`,那攻击者把id换成`123 UNION SELECT username, password FROM users`,你的管理员账号密码就跟着商品信息一起显示出来了。查这种漏洞,手动测试比工具更准。在id后面加个单引号,页面报SQL语法错误,基本就确认了。 我见过一个企业官网,后台允许上传“产品图片”。前端做了限制,只让选jpg和png。但攻击者用Burp Suite抓包,把文件名改成`shell.php`,内容是一句话木马,服务端没做二次校验,直接存到了web目录。访问`/uploads/shell.php`,整个服务器就归别人了。 查这类漏洞,别光看前端JS。把上传请求拦下来,改扩展名、改Content-Type、改文件头,挨个试。服务端如果只检查MIME类型,那就在文件内容开头加上`GIF89a`,后面跟PHP代码,照样能绕过去。真正安全的做法是:白名单扩展名、重命名文件、把上传目录设成不可执行。 上个月帮一个客户做检查,他用的CMS是五年前的版本。我翻了下官方更新日志,发现三年前就修了一个任意文件读取漏洞。测试一下,果然:`/index.php?m=attachment&f=../../../../etc/passwd`,服务器上的用户列表直接读出来了。很多站长觉得“网站小,没人盯”,但自动化扫描器可不管大小,全网撒网,逮到一个是一个。 查漏洞不是一劳永逸的事。你今天修了SQL注入,明天可能因为装了个新插件又引入XSS。我的建议就三条:保持CMS和插件最新版;所有用户输入的地方都当坏人处理;定期看服务器日志,特别是那些返回403、500的异常请求。真被黑了,先别急着重装,把日志和源码备份下来,搞清楚怎么进来的,比什么都重要。 那个跨境电商朋友最后删了恶意脚本,改了数据库密码,又装了WAF。他说早知这么麻烦,当初就该花两百块买个安全插件。我没接话。有些事,不出问题的时候,总觉得是浪费钱。先看入口,再看出口
文件上传是重灾区
别忽略那些“老古董”
- 随机阅读
- 搜索
-
- 友情链接
-