网络应用中 PHP 被认为是最危险的编程语言,同不同意? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
autogen
V2EX    PHP

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

  •  
  •   autogen 2019-05-18 01:57:21 +08:00 8451 次点击
    这是一个创建于 2339 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网络应用中 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 才是最危险的语言!
    U7Q5tLAex2FI0o0g
        25
    U7Q5tLAex2FI0o0g  
       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();
    keepfun
        35
    keepfun  
       2019-05-18 10:19:53 +08:00
    有这个数据可能是因为 php 被应用的比较广泛.
    还有就是一些老的版本还在被使用.
    还有就是项目可能没怎么使用大型的框架,现在的框架基本对安全性都做了考虑.

    php 是世界上最好的语言,没有之一,不接受反驳~
    vanishcode
        36
    vanishcode  
       2019-05-18 10:26:52 +08:00
    xrr2016
        7
    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     Solana     975 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 18:57 PVG 02:57 LAX 11:57 JFK 14:57
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86