V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
v2defy
V2EX  ›  程序员

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

  •  
  •   v2defy · 2022-09-26 23:34:12 +08:00 · 9695 次点击
    这是一个创建于 787 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    69 条回复    2022-09-28 14:19:58 +08:00
    aaa5838769
        1
    aaa5838769  
       2022-09-26 23:43:20 +08:00   ❤️ 1
    那不一定,得看 IP 对公网的暴露面有哪些。你只有一个 web 页面,肯定得从 web 入手。
    phithon
        2
    phithon  
       2022-09-26 23:46:22 +08:00
    不是。
    PMR
        3
    PMR  
       2022-09-26 23:50:52 +08:00 via Android   ❤️ 2
    Owasp top 10
    crab
        4
    crab  
       2022-09-26 23:59:00 +08:00
    注入还是有吧,sqlmap 。
    dingwen07
        5
    dingwen07  
       2022-09-27 08:01:29 +08:00 via iPhone
    我寻思现在都用 Prepared Statement 的情况下,SQL 注入还可行吗……
    pangpre
        6
    pangpre  
       2022-09-27 08:13:14 +08:00 via iPhone
    PHP 攻击是执行 shell 吗?还有其他的吗?
    jinliming2
        7
    jinliming2  
       2022-09-27 08:30:13 +08:00 via iPhone   ❤️ 1
    建议以不同语言的框架,加上 CVE 为关键词搜一搜。
    即便是其他比较流行的语言,使用的比较就行的框架的最新版本,都可能存在目录遍历、文件访问、任意代码执行之类的漏洞。

    比如去年,Java 用的比较流行的 Log4j2 ,去年就爆出了任意代码执行的 0day ,人家控制你服务器打一个访问日志,你的服务器就被控制了……
    v2eb
        8
    v2eb  
       2022-09-27 08:34:50 +08:00 via Android   ❤️ 5
    通用中间件和旁路设备的攻击, gov 都演练好多年了
    aino
        9
    aino  
       2022-09-27 08:48:35 +08:00
    经典永不过时
    xiao109
        10
    xiao109  
       2022-09-27 08:51:57 +08:00
    高端的黑客往往使用最朴实的攻击手段
    singerll
        11
    singerll  
       2022-09-27 08:58:15 +08:00 via Android   ❤️ 1
    渗透我只服社会工程学。
    Lykos
        12
    Lykos  
       2022-09-27 09:00:28 +08:00   ❤️ 3
    @xiao109 指买通保安关电源是吧 :)
    cat9life
        13
    cat9life  
       2022-09-27 09:01:22 +08:00
    古老的手段不代表没用,有时候注入有奇效,像弱口令一样。不是说“没有技术含量”就没用
    sunny1688
        14
    sunny1688  
       2022-09-27 09:16:00 +08:00
    和语言有关系吗
    julyclyde
        15
    julyclyde  
       2022-09-27 09:16:52 +08:00   ❤️ 9
    这事跟 docker 有啥关系?
    就这种“言必称 docker”的菜鸟,才是 bug 的根源
    julyclyde
        16
    julyclyde  
       2022-09-27 09:17:28 +08:00
    @Lykos 机房录像如果丢失了要赔钱的
    NewYear
        17
    NewYear  
       2022-09-27 09:17:55 +08:00
    我这边是制造业中等偏小的企业,用的大厂的产品(私有部署),最坑的就是 web 端,Java 语言,各种漏洞,各种补丁,没有自动补丁功能,全手工,很难想象很多没有专业技能的企业,如何应对得过去。
    HugoChao
        18
    HugoChao  
       2022-09-27 09:21:50 +08:00
    词典刷弱口令肯定没过时
    xdzhang
        19
    xdzhang  
       2022-09-27 09:24:16 +08:00   ❤️ 1
    天天一堆尝试 www.rar www.zip bak.zip .gz 的,都无语了。
    raysonlu
        20
    raysonlu  
       2022-09-27 09:24:42 +08:00
    DD 才是流氓
    keepeye
        21
    keepeye  
       2022-09-27 09:43:14 +08:00
    docker 包治百病吗?
    v2defy
        22
    v2defy  
    OP
       2022-09-27 09:48:56 +08:00 via Android   ❤️ 1
    @julyclyde 在 docker 容器里运行,不是多了一层保障吗
    hahiru
        23
    hahiru  
       2022-09-27 09:49:37 +08:00
    邮件钓鱼依旧好用。
    melsp
        24
    melsp  
       2022-09-27 09:50:11 +08:00 via Android
    你这个 php 和 sql 问题很奇怪,有肯定有他存在的道理
    LZSZ
        25
    LZSZ  
       2022-09-27 09:52:17 +08:00
    直接潜入(不是
    jaggle
        26
    jaggle  
       2022-09-27 09:53:09 +08:00
    docker 在安全方面的作用就是 应用相互隔离,以往的架构上,一个应用有漏洞会导致服务器上所有应用都有可能受到攻击
    julyclyde
        27
    julyclyde  
       2022-09-27 09:55:58 +08:00
    @v2defy 你这是访问数据库啊,不是本地文件系统啊,docker 怎么就多一层保障了?
    pkoukk
        28
    pkoukk  
       2022-09-27 10:02:17 +08:00
    各种中间件漏洞,什么 es,redis 一类的
    这些组件大多数情况下都不会及时升级版本,如果暴露在公网,防护能力比较弱,就极有可能遭到漏洞攻击
    上次号称上海丢了几亿条数据,据称就是 es 被拖了
    mrgeneral
        29
    mrgeneral  
       2022-09-27 10:06:14 +08:00
    Docker 不管 SQL 数据注入,如果是提权还是可以防一下。
    renmu
        30
    renmu  
       2022-09-27 10:09:39 +08:00 via Android
    WordPress ,你是指我吗?
    junmoxiao
        31
    junmoxiao  
       2022-09-27 10:14:18 +08:00
    @dingwen07 预编译有些位置用不了,比如表名,排序字段等
    zyronon
        32
    zyronon  
       2022-09-27 10:22:43 +08:00
    docker 特定版本也可以逃逸
    yakumo520
        33
    yakumo520  
       2022-09-27 10:25:49 +08:00
    啊,对对对,2022 年了,PHP 就是比其他语言容易被注入
    qzhai
        34
    qzhai  
       2022-09-27 10:32:47 +08:00
    从全球角度看,php 应该还是 web 的大头,毕竟有个开源的 WordPress 在那
    ym1ng
        35
    ym1ng  
       2022-09-27 10:34:07 +08:00
    https://www.secrss.com/articles/11077
    你们啊 还是要学习一个(手动狗头
    laolaowang
        36
    laolaowang  
       2022-09-27 10:34:34 +08:00
    什么 PHP ,什么注入,直接插 U 盘,拔网线不好么?
    laotun
        37
    laotun  
       2022-09-27 10:39:00 +08:00
    都 2022 年了,每年的护网还是有那么多企业被打穿
    brader
        38
    brader  
       2022-09-27 10:41:16 +08:00   ❤️ 3
    都 2022 年了,还在黑 PHP 吗,怎么,其他语言、框架,没有漏洞了吗,前段时间闹得沸沸扬扬的 log4j 那么快就忘了?影响还不够大?
    zjsxwc
        39
    zjsxwc  
       2022-09-27 10:53:54 +08:00   ❤️ 1
    现在用 厕纸擦屁股 的已经很少了吧,智能马桶 大行其道,以前那点手段怕是行不通了吧!
    neptuno
        40
    neptuno  
       2022-09-27 11:29:05 +08:00
    @Lykos 可能是让对方把验证码发过来
    onice
        41
    onice  
       2022-09-27 11:34:38 +08:00   ❤️ 13
    一个网站的风险有这几个风险点:

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

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

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

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

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

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

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

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

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

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

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

    总之,安全是整体,具有木桶效用。并不是说前后端分离了,就安全了。
    mshadow
        42
    mshadow  
       2022-09-27 11:41:52 +08:00
    @dingwen07 Prepared Statement 依然挡不住有人手拼 sql
    h175h32
        43
    h175h32  
       2022-09-27 12:33:58 +08:00
    这两种快速有效啊。
    superrichman
        44
    superrichman  
       2022-09-27 12:43:44 +08:00 via Android
    @onice 大哥总结的好,一看就是专业的
    520discuz
        45
    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
        46
    Akesudia  
       2022-09-27 13:38:50 +08:00
    千里之堤,溃于蚁穴。
    lmmlwen
        47
    lmmlwen  
       2022-09-27 13:52:09 +08:00   ❤️ 1
    干脆你直接开喷 php 就好了,你是不是觉得你智商还挺高,说的挺隐晦啊?
    abersheeran
        48
    abersheeran  
       2022-09-27 13:53:06 +08:00   ❤️ 1
    @dingwen07 赚的就是菜鸟的钱啊。我为前公司做了一套 ORM ,防注入的。顶不住有人还是直接拼字符串,被公司内安服人员内部 sqlmap 扫出来了。一开始是我被叫过去,说是我 ORM 有问题。再一看代码,压根没用我 ORM ,直接拿了 connection 传 SQL 的。💦非常无语。
    zunceng
        49
    zunceng  
       2022-09-27 14:05:49 +08:00   ❤️ 1
    说一个我们服务器被攻破的案例
    服务是 Golang + docker 也没有啥漏洞。 然后 sre 组在开发完全不知情的情况下部署了了一个 Logstash 收集 docker 日志。docker 里面有一个 nginx 把 http head refer 打印出来了。爆出 log4j JNDI 的问题后一段时间 我们公司的服务器也中招了,整个组懵逼的找了好久问题。

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

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

    程序本来就有问题的情况下,引入 docker 并不能改变太多
    pusheax
        60
    pusheax  
       2022-09-27 20:07:05 +08:00
    SQL 注射远不止存在于 Web 应用。
    举个例子,C/S 架构的应用程序,也可能存在 SQL 注射。像 TDS 协议,流量无法全加密,配合 ARP 欺骗的手段,就可以执行任意 SQL 语句。
    目前来说,SQL 注射还是影响十分广泛的安全问题。因为它不像中间件,或者操作系统的 NDay ,可以通过打补丁修复。
    这一类与开发者水平强相关的漏洞,可能永远无法根除。
    demoshengxw
        61
    demoshengxw  
       2022-09-27 20:29:48 +08:00 via iPhone
    我寻思 2022 年了,php 都走 pdo 参数绑定后 mysql 服务端压根对参数不做语义解析。这怎么会有注入呢
    demoshengxw
        62
    demoshengxw  
       2022-09-27 20:32:33 +08:00 via iPhone
    再说这跟你走不走容器没有任何关系,本质上是利用构造字符串执行恶意 sql ,跟 php 在什么环境没啥关系啊
    karloku
        63
    karloku  
       2022-09-27 20:52:53 +08:00
    各种云平台和开发框架 /成熟库把很多弱智错误都规避掉了
    现在通常社工手段会更容易一点. 为了便利要求开发者主动降低安全性的运营; 完全没有防钓鱼意识的管理者; 会把密钥传去 github 的开发...
    sprite82
        64
    sprite82  
       2022-09-27 20:58:24 +08:00
    部署了个博客,我自己都十天半个月不看一次的,但是 nginx 每天都有几个 ip 来扫漏洞, 请求后缀都是 php, asp 等
    最常见的是 phpadmin ,还有 ../.git ../.ssh/config 这类想访问密钥的
    f165af34d4830eeb
        65
    f165af34d4830eeb  
       2022-09-27 21:23:58 +08:00
    ragnaroks
        66
    ragnaroks  
       2022-09-27 21:38:53 +08:00
    你说的脚本小子,真正的黑客参考美国对中国的网络攻击
    Chaconne
        67
    Chaconne  
       2022-09-27 23:27:33 +08:00
    初级黑客:社工也算厉害的工具?
    顶级黑客:社工是最厉害的工具!
    pandamen
        68
    pandamen  
       2022-09-28 09:49:54 +08:00
    世界上只有两种语言,一种是经常被人骂的,另一种是没人用的。
    leakless
        69
    leakless  
       2022-09-28 14:19:58 +08:00
    看到楼上各位讨论之后感觉网络安全这个行业还能吃好几年的饭....真好,不用担心饿死了

    还得多学习一个
    https://xz.aliyun.com/t/11652
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:25 · PVG 04:25 · LAX 12:25 · JFK 15:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.