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

网络应用中 PHP 被认为是最危险的编程语言,同不同意?

  •  
  •   autogen · 2019-05-18 01:57:21 +08:00 · 7970 次点击
    这是一个创建于 2023 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网络应用中 PHP 被认为是最危险的编程语言,同不同意?

    86% 的 PHP 应用程序至少包含一个跨站脚本( XSS )漏洞;

    56% 的 PHP 应用程序至少包含一个 SQL 注入漏洞,著名的也是非常危险且易被利用的 web 应用漏洞之一;

    67% 的 PHP 应用程序允许目录遍历;

    61% 的 PHP 应用程序允许代码注入;

    58% 的 PHP 应用程序在凭证管理方面有问题;

    73% 的 PHP 应用程序存在加密问题;

    50% 的 PHP 应用程序允许信息泄露。
    tongyifan
        1
    tongyifan  
       2019-05-18 01:58:43 +08:00 via Android   ❤️ 11
    那么,数据来源于?
    bokchoys
        2
    bokchoys  
       2019-05-18 01:59:59 +08:00 via iPhone
    不注意代码规范,都会如此吧?
    autogen
        3
    autogen  
    OP
       2019-05-18 02:01:52 +08:00
    @tongyifan Ref: Veracode. State of Software Security: Focus on Application Development
    tongyifan
        4
    tongyifan  
       2019-05-18 02:06:45 +08:00 via Android
    @autogen 去学习一下
    wwww961h
        5
    wwww961h  
       2019-05-18 02:26:43 +08:00   ❤️ 1
    很正常,因为写 PHP 的新手确实更多,但是你不能质疑 PHP 的安全性,因为安全性是相对的,只有用不好工具的人,没有不好的工具,况且还是世界上最流行的工具,没有之一
    lzxgh621
        6
    lzxgh621  
       2019-05-18 03:47:36 +08:00 via Android   ❤️ 4
    想起 windows 是最不安全的系统言论
    KasuganoSoras
        7
    KasuganoSoras  
       2019-05-18 03:57:54 +08:00   ❤️ 3
    不同意,没有不安全的编程语言,只有不会写代码的人。
    照这个说法,Java Web 也不安全,前不久我给我朋友的一个 Java 写的网页管理系统做了一次安全测试,给我挖出一大堆 XSS、SQL 注入、CSRF 攻击,这能说明一个编程语言不安全吗?不能,只能说明写代码的人不够认真不够仔细。
    PHP 提供了大量的方法用于预防 XSS、SQL 注入等等漏洞,例如 preg_match 正则表达式匹配,mysqli_real_escape_string 字符串转义防止注入等,因此只要掌握了这些函数的使用方法,合理搭配合理运用,完全不用担心自己写的东西会不安全。

    另外,世界上没有绝对安全的系统,什么都可能有漏洞,只有不断去修复去填补。
    KasuganoSoras
        8
    KasuganoSoras  
       2019-05-18 04:05:39 +08:00
    漏洞通常容易出现在:
    1. 新人的作品
    2. 中大型的项目
    3. 闭源,自用的项目
    新人作品有漏洞就不用说了,很正常的,刚学会一门编程语言,根本不懂得怎么做安全。
    中大型项目一般都是由团队开发的,越大的项目越复杂,更容易出现漏洞、bug。
    闭源的项目一般都是“能跑就行”,不太会追求代码整洁,同时缺少社区的支持和维护,隐藏的漏洞一般比较多。
    crab
        9
    crab  
       2019-05-18 04:08:47 +08:00
    和语言无关,往前十几年那会 ASP 写的网站论坛商城拿个明小子都能扫出注入等等漏洞。
    Bramblex2
        10
    Bramblex2  
       2019-05-18 06:59:06 +08:00
    php 容易出安全问题不是因为 php 烂(虽然 php 真的很烂),是因为 php 门槛低,php 程序员的平均水平低,以及 php 市场占有率极高。
    zjsxwc
        11
    zjsxwc  
       2019-05-18 07:29:57 +08:00 via Android
    10 年前的言论
    opengps
        12
    opengps  
       2019-05-18 07:35:59 +08:00 via Android   ❤️ 1
    安不安全取决于防御能力,php 很多流行框架确实有缺陷,却被用作底层。
    说说我网站,没用任何框架代码,几乎全程手写,所以也就没留下通用型的注入规则,至少想渗透入侵我网站不能用那些成品渗透工具,这也算一种防御,无招胜有招的那种
    RobertYang
        13
    RobertYang  
       2019-05-18 07:36:23 +08:00 via Android
    这个因素应该受不安全的人影响更大吧
    samondlee
        14
    samondlee  
       2019-05-18 07:37:08 +08:00
    原来说 ASP 是最危险的语言
    KgM4gLtF0shViDH3
        15
    KgM4gLtF0shViDH3  
       2019-05-18 07:38:38 +08:00 via iPhone
    黑 php 的新姿势
    dsnake1984
        16
    dsnake1984  
       2019-05-18 08:01:28 +08:00
    要不要我用 java 写出上述漏洞~
    qce7
        17
    qce7  
       2019-05-18 08:20:13 +08:00
    编程语言分两种:1.有一大堆缺点的 2.没人用的
    qce7
        18
    qce7  
       2019-05-18 08:24:50 +08:00
    @opengps 对于新手还有经验不足的人,手写不如用成熟的开源框架
    telun
        19
    telun  
       2019-05-18 08:30:22 +08:00 via iPhone
    根据这个标准,那 windows 是最容易中病毒的操作系统
    polymerdg
        20
    polymerdg  
       2019-05-18 08:47:49 +08:00
    XSS 不是前端的祸么 ?
    这锅 PHP 也得背?
    azoon
        21
    azoon  
       2019-05-18 09:00:57 +08:00
    侧面反映 PHP 多人用
    liuxu
        22
    liuxu  
       2019-05-18 09:05:44 +08:00
    现在黑 php 的都开始用百分比了么。。
    guozhiyun
        23
    guozhiyun  
       2019-05-18 09:10:18 +08:00 via Android
    无脑黑
    janxin
        24
    janxin  
       2019-05-18 09:13:14 +08:00   ❤️ 5
    100%的 XSS 漏洞存在与 JS 中,JS 才是最危险的语言!
    littleylv
        25
    littleylv  
       2019-05-18 09:15:57 +08:00
    跟语言有毛线关系。无脑黑。
    deepdark
        26
    deepdark  
       2019-05-18 09:32:53 +08:00 via Android
    PHP 危险函数确实比较多,开发者水平欠缺的话很容易写出漏洞。但你不能说它是最危险的编程语言,还是开发者的问题。虽然我是 php 黑,但这个锅 php 不能背
    changdy
        27
    changdy  
       2019-05-18 09:34:49 +08:00
    一直对安全比较好奇,求问下在 java 中发生的情况:
    一般来说 现在只要不是实习生 java 很难出现 sql 注入吧?
    目录遍历 也很少遇到过,java 应该很少有便利本地目录文件的需求或功能,
    至于代码注入,应该主要是第三方库吧,两三年前倒是见到过说 fastjson 有这个漏洞,

    话说 php 因为脚本语言的原因还是比 java 更容易出现漏洞吧?小白一枚,哪里不正确请帮忙扶正,
    masker
        28
    masker  
       2019-05-18 09:44:15 +08:00 via Android
    这。。。秀智商下线吗。
    whileFalse
        29
    whileFalse  
       2019-05-18 09:46:23 +08:00 via iPhone
    你以为那些用 express 手撸的破玩意能好到哪儿去。
    opengps
        30
    opengps  
       2019-05-18 09:49:26 +08:00 via Android
    @qce7 确实,新人用的多,自然也就把缺点暴露的更多
    就像当年 linux 用户少的时候,很多人被误导说 linux 系统下不需要杀毒软件一样
    wormcy
        31
    wormcy  
       2019-05-18 09:50:17 +08:00
    危险的是人
    taotaodaddy
        32
    taotaodaddy  
       2019-05-18 09:59:54 +08:00 via Android
    我 phper 永不为奴!
    shehuizhuyi
        33
    shehuizhuyi  
       2019-05-18 10:05:51 +08:00
    和语言没关系 使用量多
    whoami9894
        34
    whoami9894  
       2019-05-18 10:14:55 +08:00 via Android   ❤️ 1
    我觉得说的是有道理的,很大长度上是因为这种弱类型+动态类型+脚本语言本身的灵活随意性导致就不安全,能导致很多绕过。当然这也和开发者有关系,但你不能保每个开发者都有足够的安全经验。假如相同安全意识的两个程序员写 Java 和 PHP 相对来说一定是 Java 漏洞更少。

    举个例子,对于 webshell 的查杀,PHP 的灵活性总可以绕过检查,第一次看到这种东西我都惊了: $a = "foo"; $a();
    fenglangjuxu
        35
    fenglangjuxu  
       2019-05-18 10:19:53 +08:00
    有这个数据可能是因为 php 被应用的比较广泛.
    还有就是一些老的版本还在被使用.
    还有就是项目可能没怎么使用大型的框架,现在的框架基本对安全性都做了考虑.

    php 是世界上最好的语言,没有之一,不接受反驳~
    vanishcode
        36
    vanishcode  
       2019-05-18 10:26:52 +08:00
    xrr2016
        37
    xrr2016  
       2019-05-18 10:28:19 +08:00 via Android
    PHP 是最好的语音!
    ningfeng
        38
    ningfeng  
       2019-05-18 10:30:23 +08:00
    ASP 不服
    chenxytw
        39
    chenxytw  
       2019-05-18 10:44:34 +08:00
    我觉得楼主是对的 0 0
    我的判断依据是 CTF 的题型,web 题,代码审计,PHP 的占比很高。
    rockyou12
        40
    rockyou12  
       2019-05-18 10:50:17 +08:00
    php 危险,还因为对 php 做攻击的多,我司 nginx 日志里面的攻击基本 90%的 url 都有 index.php 。php 就是这么牛逼
    accm
        41
    accm  
       2019-05-18 11:28:02 +08:00
    我是谁,没有绝对安全的系统
    golden0125
        42
    golden0125  
       2019-05-18 11:31:30 +08:00
    这难道不是开发不规范才导致安全隐患吗?按照这个逻辑我可以说水是最危险的东西,因为喝过水的人百分之百都死了
    Huelse
        43
    Huelse  
       2019-05-18 11:43:52 +08:00
    对 php 来说,这是好事。因为没人关注的语言,谁会去挖掘这么多问题
    luanguang
        44
    luanguang  
       2019-05-18 12:02:49 +08:00
    好事呀,说明用 php 的还是很多的,phper 找工作不愁
    icy37785
        45
    icy37785  
       2019-05-18 12:46:13 +08:00 via iPhone
    不同意,下一个
    sama666
        46
    sama666  
       2019-05-18 12:53:40 +08:00 via Android
    很多 php 萌新不懂得安全,要不然网络安全也不会独立出来了
    killerv
        47
    killerv  
       2019-05-18 12:55:09 +08:00
    xss 跟 PHP 有毛线关系,甚至说跟后端语言有毛线关系
    imdong
        48
    imdong  
       2019-05-18 12:59:51 +08:00
    程序员是世界上最危险的语言。
    因为所有的漏洞都是程序员写的。
    liuguang
        49
    liuguang  
       2019-05-18 13:54:13 +08:00
    你这怎么统计到的?这些漏洞,与语言无关,比如 xss 您能保证用其它语言写的就一定没有这个漏洞吗?
    godgc
        50
    godgc  
       2019-05-18 13:58:28 +08:00
    @KasuganoSoras 应该还要包括一下市面框架暴露出的一些 0day 这种
    azh7138m
        51
    azh7138m  
       2019-05-18 14:00:01 +08:00 via Android
    @whoami9894 和语言没关系的,Java 的 ssh 漏洞多的可怕,利用难度极低
    Mrxx
        52
    Mrxx  
       2019-05-18 14:25:22 +08:00
    整天钓鱼不用上班么
    lithiumii
        53
    lithiumii  
       2019-05-18 14:25:30 +08:00
    相关非因果
    ritaswc
        54
    ritaswc  
       2019-05-18 14:42:13 +08:00
    特么的,java 写不好也一样的,天天给 PHP 闲的么
    ritaswc
        55
    ritaswc  
       2019-05-18 14:42:27 +08:00
    @imdong 抓到石头
    lookas2001
        56
    lookas2001  
       2019-05-18 14:55:22 +08:00
    水深火热,请
    Takamine
        57
    Takamine  
       2019-05-18 15:01:59 +08:00
    我觉得还是人的问题...。
    互联网这个东西,本来就不存在绝对的安全一说:doge:。
    lshero
        58
    lshero  
       2019-05-18 15:04:18 +08:00 via Android
    说几句不好听的,因为大部分做安全的只会用工具扫描。不会去审计那些二进制文件,甚至连打包了的脚本语言都不会去分析。
    一些安全审核仅仅是根据 php 响应 header 中带的 php 版本来判断安全隐患,连一个可用的 payload 都无法提供。如果说根据 uri 中是否有.php 的扫描判断 php 是否安全,每天都一堆 ssh 的登录失败日志能否得出 openssh 也不安全的结论?
    mamahaha
        59
    mamahaha  
       2019-05-18 15:06:53 +08:00
    PHP 已经没啥好喷的了,过去那种一喷 PHP 马上全体围观的盛况早就没了,大家还是好好把精力使用在自己喜欢的语言上去吧。
    vjnjc
        60
    vjnjc  
       2019-05-18 15:08:28 +08:00
    从另外个角度,这个说法还是可能的。
    比如把 wordpress 网站考虑为 php 程序网站,而很多 wordpress 站都没有升级到最新版,看起来就符合文章描述了。
    gamexg
        61
    gamexg  
       2019-05-18 16:52:40 +08:00 via Android
    没说 c ?
    溢出攻击大部分都是 c 语言的吧?
    changdy
        62
    changdy  
       2019-05-18 18:43:58 +08:00
    @azh7138m 这两年早就换成了 spring boot 全家桶了吧.
    这个 貌似没听说到框架级别有什么问题.
    azh7138m
        63
    azh7138m  
       2019-05-18 19:17:07 +08:00 via Android
    @changdy ssh 问题多得很
    比如 https://cwiki.apache.org/confluence/display/WW/S2-019
    可以直接当 web shell 用
    x86
        64
    x86  
       2019-05-18 19:18:12 +08:00
    贴吧言论都不如
    RLWGQ0AI4MAvYy36
        65
    RLWGQ0AI4MAvYy36  
       2019-05-18 20:27:49 +08:00
    网络应用中 JAVA 被认为是最危险的编程语言,同不同意?

    86% 的 JAVA 应用程序至少包含一个跨站脚本( XSS )漏洞;

    56% 的 JAVA 应用程序至少包含一个 SQL 注入漏洞,著名的也是非常危险且易被利用的 web 应用漏洞之一;

    67% 的 JAVA 应用程序允许目录遍历;

    61% 的 JAVA 应用程序允许代码注入;

    58% 的 JAVA 应用程序在凭证管理方面有问题;

    73% 的 JAVA 应用程序存在加密问题;

    50% 的 JAVA 应用程序允许信息泄露。
    autogen
        66
    autogen  
    OP
       2019-05-18 20:30:33 +08:00
    -





    谢谢大伙赏我的铜板,我手动下沉,别回复了
































































































    -
    ben1024
        67
    ben1024  
       2019-05-18 23:03:45 +08:00
    PHP 不背这个锅,再赏你 10 个
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2584 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 04:32 · PVG 12:32 · LAX 20:32 · JFK 23:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.