网站又被攻击,我心态崩了

共 1548字,需浏览 4分钟

 ·

2022-01-22 15:00

大家好,我是鱼皮。如题,昨天晚上本来想写篇文章的, 但是没想到我的网站又又又又被攻击了,而且这次不止一位同学在同时攻击、十分严重。所以写文章未遂,花了大量的时间来排查和应对攻击。

之前很多朋友在我的网站上只是小打小闹,很多 “攻击” 根本算不上 “攻击”,充其量就是欺负我网站刚上线,找找 Bug 而已。改了几十个 Bug 后,发现常见的攻击其实就这么几类:

1. XSS 脚本注入

最低级的就是在输入框中直接输入恶意 JavaScript 脚本,如果没有对此类文本进行特殊处理,那么会直接在前端执行,从而影响网站的运行,比如弹个框:

虽然前端很多富文本编辑器自带了 XSS 处理,但终究是不保险的。所以我给所有用户提交数据的后端接口补充了 XSS 过滤,保证返回给前端的数据已经是 “相对正常” 的了。

比如下面的输入,加载图像时发生了错误,会显示一个对话框:

<img src="#" onError="alert('鱼皮')" />

经过后端处理后,会被转义成:

<img src="#" />

仔细扫了一下数据库,光 XSS 的内容就有上百条了,不愧是最主流、低成本的攻击手段:

2. 提交非法数据

非法数据有很多种,比如灌水、无意义的内容:

又或者绕过前端的字数限制,直接调用后台接口来提交超长内容,从而在展示数据时影响页面的加载时间、甚至导致页面崩溃。比如下面这货,在搜索框里塞了几 MB的数据:

也是经验不足吧,我一开始真没想到会有这种骚操作,看来还是得严格限制任何用户提交的内容。

唉,这种攻击是最难防护的。人言可畏,要完全解决根本不可能,只能投入人力来管理了,也欢迎大家随手举报,给网站一个健康良好的生态环境。

3. 频繁提交数据

就是疯狂调后台接口来插入无意义的数据,比如有个同学一次性刷了几千条举报数据来举报我,给我气的不行。

所以还是要限制下每位用户提交信息的数量呀!


虽然这类攻击很温和,但也是需要人工花时间来处理的,不仅耽误我的时间,也会影响正常用户的体验。所以我在网站主页右侧添加了公告:即日起,本站禁止任何测试行为,违者直接永久封号!

反正一个微信号只能注册一个用户,乱搞的成本也是有限的。

但昨天晚上的攻击就不是开玩笑了,有同学直接搞拒绝服务攻击了,平均每分钟调用我的接口 1000 万次!!!

这如果没有专业的防护,并发再高,也扛不住啊!所以系统在那段时间完全挂掉了。

其实面对这种量级的 CC 或 DDOS 攻击,不花钱一般是搞不定的,但对于我这样一个完全免费、不赚钱的网站,完全承担不起上高防护产品的费用啊!

而且这种攻击的成本很低、也完全不需要什么技术含量,真的是防不胜防;即使你被攻击了去找云服务商,只要损失金额不大、只要不报警,压根儿没人理你。所以当时搞的我心态有点崩,觉得前途一片迷茫啊。

我真的很难想象,究竟是内心多么黑暗、多么卑微的人,会去做这种事呢?

想想这种人真是可怜哈哈,如果用这点本事攻击我的网站能给他带来一丝慰藉,那我觉得也值了。

但是,你把我的网站攻破了、搞崩了,除了暴露了你内心的丑陋,对我来说又有什么影响呢?反正我东西做了、代码有了、经验涨了;再说网站本身也不赚钱,挂了就挂了呗,大不了我就在公众号给大家分享面试题咯。

而且不会真的以为这点攻击我就放弃了吧? 天真,我一个 23 岁的程序员大爷,我怕什么?!

最后,再发个招募令,有网络安全方面的大佬,欢迎在留言中留下自己的微信号,必有重谢!


往期推荐

绝了,小白都能用的反编译神器!

这个 Bug,给我整得一愣一愣!

2分钟,我把网站性能优化了3倍!

编程导航出新专栏啦!

我做的免费面试刷题网,炸了!

浏览 32
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报