2010-03-07 105 views

回答

2

该文章似乎指的是一个易受攻击的web应用程序,而不是PHP特有的任何东西。

此一主题提供了有关编写安全的PHP代码一些有用的信息:

What security issues should I look out for in PHP

如果我们把“他们利用这些漏洞来注入PHP代码到网站”的字面文章的一部分,那么开发人员可能使用包含/要求语句的用户输入或eval

+0

这是挑战不eval()。 eval()是一个非常危险的攻击,可以用来修改页面,在远程Web应用程序中它也**非常难以检测,并且**非常模糊。我的心中绝对没有怀疑这是xss。 XSS非常容易检测,非常常见。 – rook 2010-03-07 18:10:06

+0

@The Rook正如我所说,如果我们将文章的部分内容引入字面,那么注入PHP代码只能由错误地使用eval或include/require语句引起。 XSS与注入PHP代码无关,因此如果攻击是由XSS引起的,那么PHP应该不会在BBC文章中被提及。但是,是的,它就像媒体错误地报告技术细节:) – Inspire 2010-03-07 21:04:39

+0

你比写这篇文章的非程序员更迷路。 – rook 2010-03-08 02:01:08

0

该文章不是特别清楚,但我的猜测是,他们只是使用SQL注入,并试图避免检测,他们插入脚本,实际上改变了除非访问者使用相关搜索字词来自Google,并且作者在这种情况下正在调用重定向“捎带”,否则该网站的行为通常是正常的。

所以:转义并验证所有的用户输入。

+0

我不同意bbc文章给了足够的信息。这与sql注入没有任何关系。与其他漏洞(如xss)相比,使用sql注入很难获得这种级别的访问权限。如果你正在谈论sqli,你应该知道这一点,但是你可能从未利用过sqli,所以你不知道它是什么。 – rook 2010-03-07 18:14:29

+0

SQL注入绝对可以做到这一点。这是否容易做到,即使是编写得很好的代码?否 - 但说实话,很大一部分PHP代码甚至不符合该标准。 基于文章中非常有限的信息,以及他们是政府网站的事实,我的经验并不打算公开很多用户提供的数据,我猜想这个向量是SQL注入,尽管如果代码给了他们这个机会,它当然可以用XSS来完成(更容易)。 – 2010-03-07 19:05:38

+0

我同意,sql注入可以做到这一点。但是,几乎不可能自动执行SQL注入攻击来执行此操作。当他们的网站遭到破坏而没有完全理解SQL注入攻击的内容时,它更常见于人们责怪sql注入。我建议写一个漏洞利用程序,以便你知道,这对我有很大的帮助。 – rook 2010-03-08 17:35:12

0

第一个链接真的在general subject应该给你一些概述。

第二个环节是PHP/SQL - 具体而且应该引导你开悟。

+0

有帮助。如果你不知道答案,不应该发布。 – rook 2010-03-07 18:11:01

0

BBC新闻文章正在谈论“persistent xss”。将它留给新闻讨论黑客攻击,而不提及任何有关漏洞的信息。但是,这可能是因为bbc.co.uk不知道xss漏洞是什么,因为如果他们这样做,他们会patch their own damn site!

很多方法来实现对PHP Web应用程序的远程代码执行。没有人应该称之为“PHP注入”,如果他们这样称呼它,那么他们不知道他们在说什么。 A Study In Scarlet是一个很好的论文,它详细描述了攻击者可以用来获取PHP应用程序的远程代码执行的许多不同方法。本文旨在用于恶意黑客,而不是开发人员。

XSS是迄今为止最容易和最普遍的方法,在某人的网站上恶毒地宫殿广告。