“坏”的事情可以通过img src发生吗?

2022-08-30 17:08:29

我知道,我知道,标题很糟糕,但我会试着解释我在这里的意思。所以,我要求我的成员展示他们的照片。他们将其上传到某个地方,然后将照片的URL粘贴到输入中,然后将其保存到我的数据库(MYSQL)中。然后,在他们的个人资料中看到照片。我从数据库获取URL并执行类似操作:从MYSQL获取URL的位置。它完全安全吗?例如,有人可以上传.php文件并损害我的网站吗?我是否需要检查 URL 的结尾是否.gif、.png.jpg?
谢谢。<img src="<?=$photo;?>" height="123px" width="123px">">$photo

编辑:是的,我当然会保护我的网站免受SQL注入和XSS攻击。但是有没有办法以其他方式损害我的网站?


答案 1

您描述的内容可能容易受到 XSS(跨站点脚本)攻击。从本质上讲,恶意用户可能能够注入可能做坏事的javascript代码,同时作为您的网站执行。

有关此攻击媒介的示例,请查看:http://jarlsberg.appspot.com/part2#2__stored_xss_via_html_attribute

编辑:听起来你已经在保护自己再次使用SQL注入和XSS,并且你想知道是否有某种方法可以将PHP代码注入您的网站。我认为这是不可能的,因为您的服务器端代码不会执行此字符串。您只需指示客户端浏览器从 URL 下载图像即可。

有人可能会链接到感染了病毒的图像文件,然后感染您网站的其他访问者,但这不会影响网站本身。


答案 2

不,它根本不安全,XSS攻击可以通过图像标签执行。

一个简单的例子是:

<IMG SRC=j&#X41vascript:alert('test2')>

http://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29


推荐