2022 年了,黑客攻击的手段还是 PHP 和 sql 注入那老一套吗?

2022-09-26 23:34:12 +08:00
 v2defy

现在用 php 开发网站的已经很少了吧,前后端分离 docker 微服务大行其道,以前那点手段怕是行不通了吧!

9324 次点击
所在节点    程序员
69 条回复
onice
2022-09-27 11:34:38 +08:00
一个网站的风险有这几个风险点:

一个是来自 web 应用程序本身的漏洞,比如你说的注入,还有跨站脚本这些。

第二是 web 服务器环境的漏洞,比如 Java 项目使用的 tomcat ,weblogic ,还有.net 网站使用的 iis ,还有 php 使用的 apache ,nginx 等。

第三个是主机漏洞,来自操作系统的漏洞。比如比较经典的永恒之蓝。

参考上述三点。即使是你保证了你的 web 程序没漏洞,但也不能防止 web 中间件的漏洞和主机操作系统的漏洞。

对于巨石应用,所有环境都部署在一台服务器上的,安全比较好做。三个层面做好就行了。

但是对于一个大型企业,不可能只有一个网站应用。当网站系统和服务器主机数量成规模了,就比较考研运维人员的能力了。

对于攻击者,我们只会挑薄弱的地方下手。找到存在漏洞的站点作为立足点,逐步进入企业内网,并横向移动直到获取域控权限。

没有永远安全的系统。随着时间推移,上面提到的三个方向,一定会出现漏洞,而随着网站数据增加,重要的系统迁移到新系统成本反而很大,大部分企业不会重视,不会为了安全原因投钱开发一个新系统。现在很多企业,甚至还用着 centos6 ,用着 windows7 。

当所有技术手段都失效了,我们还可以用社会工程学。

鱼叉攻击,水坑攻击这些。

参考最近西北工业大学的入侵事件。

总之,安全是整体,具有木桶效用。并不是说前后端分离了,就安全了。
mshadow
2022-09-27 11:41:52 +08:00
@dingwen07 Prepared Statement 依然挡不住有人手拼 sql
h175h32
2022-09-27 12:33:58 +08:00
这两种快速有效啊。
superrichman
2022-09-27 12:43:44 +08:00
@onice 大哥总结的好,一看就是专业的
520discuz
2022-09-27 13:26:33 +08:00
1.怕 centos 被黑 2.怕 nginx 被黑 3.怕 php 被黑 4.怕 mysql 被黑 5.怕 phpmyadmin 被黑 6.怕 cms 被黑 7.怕宝塔被黑 8.怕 cms 第三方插件有漏洞或带后门 9.怕宝塔第三方插件有漏洞或带后门

这 9 个里只要有一个出问题网站就被黑了~~~
Akesudia
2022-09-27 13:38:50 +08:00
千里之堤,溃于蚁穴。
lmmlwen
2022-09-27 13:52:09 +08:00
干脆你直接开喷 php 就好了,你是不是觉得你智商还挺高,说的挺隐晦啊?
abersheeran
2022-09-27 13:53:06 +08:00
@dingwen07 赚的就是菜鸟的钱啊。我为前公司做了一套 ORM ,防注入的。顶不住有人还是直接拼字符串,被公司内安服人员内部 sqlmap 扫出来了。一开始是我被叫过去,说是我 ORM 有问题。再一看代码,压根没用我 ORM ,直接拿了 connection 传 SQL 的。💦非常无语。
zunceng
2022-09-27 14:05:49 +08:00
说一个我们服务器被攻破的案例
服务是 Golang + docker 也没有啥漏洞。 然后 sre 组在开发完全不知情的情况下部署了了一个 Logstash 收集 docker 日志。docker 里面有一个 nginx 把 http head refer 打印出来了。爆出 log4j JNDI 的问题后一段时间 我们公司的服务器也中招了,整个组懵逼的找了好久问题。

这种情况啥都防不住
KimGuo
2022-09-27 14:34:16 +08:00
说的简单,又不知道今年 WA 又有多少公司被打穿了
xiaoding
2022-09-27 14:44:57 +08:00
跟语言无关,跟前后端分离无关,跟云原生架构也无关,
只要有输入输出,有针对外部提交的数据进行处理分析,就会有风险,
即使没有输入,也有安全性的问题: 系统瘫痪(可用性),造成关键数据丢失(完整性)等等,
即使底层系统和应用系统是安全的,业务不安全(风控,反欺诈)
即使外部安全但内部不安全(内鬼,数据泄漏)等等
dingwen07
2022-09-27 15:19:33 +08:00
@junmoxiao #31
但是表名和字段不可能是用户输入的数据吧
yolande
2022-09-27 15:25:57 +08:00
高端的黑客往往只需要采用最朴素的攻击方式
junmoxiao
2022-09-27 15:38:42 +08:00
@dingwen07 但是事实上确实存在不少这样干的
ysc3839
2022-09-27 16:08:30 +08:00
@dingwen07 #5 还有大量低水平的人不知道有占位符功能,仍然直接拼接 SQL 字符串
zlowly
2022-09-27 16:24:57 +08:00
因为知道 PHP 和 sql 注入危害的人已经年纪大了,不是做管理就是被优化了,作为码农生力军的新入门菜鸟继续重复着这些错误。
什么 docker 微服务,对黑客的拖库和挖矿来说,影响其实并不大,而且部署 docker 的人往往更疏于关注系统更新和补丁。
xuanbg
2022-09-27 16:48:08 +08:00
只能说有效就好!很多系统的安全性薄弱到令人发指。。。真的
exploreexe
2022-09-27 17:14:41 +08:00
网络安全这事,只要联网了就有安全问题,反正我看过的很多被入侵案例都挺超出想象力的,有些管理员各种安全手段用上,结果一个习惯就可能导致服务器被黑。

比如有些程序员特别费劲的做了一通安全防护,结果运营压根不管,怎么简单怎么来,一点招没有。哈哈哈
someonedeng
2022-09-27 17:30:10 +08:00
https://zhuanlan.zhihu.com/p/354415003

程序本来就有问题的情况下,引入 docker 并不能改变太多
pusheax
2022-09-27 20:07:05 +08:00
SQL 注射远不止存在于 Web 应用。
举个例子,C/S 架构的应用程序,也可能存在 SQL 注射。像 TDS 协议,流量无法全加密,配合 ARP 欺骗的手段,就可以执行任意 SQL 语句。
目前来说,SQL 注射还是影响十分广泛的安全问题。因为它不像中间件,或者操作系统的 NDay ,可以通过打补丁修复。
这一类与开发者水平强相关的漏洞,可能永远无法根除。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/883157

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX