返回博客列表

对XSS的理解

2018年7月10日
2 min read
编程网络安全思考

##XSS跨站点脚本攻击 XSS,Cross Site Scripting,跨站点脚本攻击

xss也是一种注入攻击,当web应用对用户输入过滤不严格,攻击者写入恶意的脚本代码(HTML、JavaScript)到网页中时,如果用户访问了含有恶意代码的页面,恶意脚本就会被浏览器解析执行导致用户被攻击。

xss就是数据中的嵌入的一段恶意代码被解析执行。

xss分为反射型、存储型和DOM型。

反射型一般只能触发一次,需要用户点击某个url

存储型出现在评论区,每次留言被加载时嵌入的代码就会执行。

DOM型一般是修改本地的DOM,在本地执行,不与服务器发生交互。

由于xss是一段脚本,所以它只能盗取客户端的数据,如cookie等

常见的危害有:cookie窃取,session劫持,钓鱼攻击,蠕虫,ddos等。

htmlspecialchars()函数是有效的防止手段,可将特殊字符统一转化成转义符。 例如

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>

返回

<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>

显示效果

This is some bold text.

评论讨论

使用 GitHub 账号登录参与讨论

加载评论中...