有趣的漏洞原理——XSS注入环境介绍进入正题如何解决其危害如何避免转义动态内容白名单值仅限于http cookies
环境介绍
跨站脚本(XSS )是黑客攻击网站最常见的方法之一。 XSS漏洞允许恶意用户在其他用户访问站点时执行任何JavaScript阻止。
1、如果你有喜欢分享生活的页面,别人输入的评论也存在于后端,容易给别人看
进入正题2,如果没有对用户输入设置限制。 虽然有点危险,但通常使用跨网站脚本窃取cookie并允许劫持会话
警报弹匣显示
其三,输入js脚本,工作
这确实不好
危害XSS后,可以自由运行JavaScript代码,因此攻击者可能造成的损害取决于站点处理的数据的机密性。 黑客利用XSS进行的事情:
在社交媒体网站上传播蠕虫。 脸书、推特和YouTube都曾这样成功攻击过。 会话劫持。 有恶意
JavaScript可以将会话ID发送到受黑客控制的远程站点,以确保黑客能够接管正在进行的会话并冒充用户。
身份盗窃。 当用户在受感染的站点上输入敏感信息(如信用卡号)时,恶意JavaScript可能会窃取这些详细信息。 拒绝服务攻击和网站破坏。
窃取密码等机密数据。 银行网站的金融诈骗。
如何防止动态内容转义网页由HTML组成,通常写在模板文件中,并在呈现页面时嵌入动态内容。 存储型XSS攻击利用对来自后端数据存储的动态内容的非法处理。 攻击者通过插入几个JavaScript代码来滥用可编辑的字段,并在其他用户访问页面时在浏览器中进行评估。
要转义动态内容,通常需要用HTML实体代码替换重要字符。
' # ' () ) /; 白名单值如果特定动态数据项只有少数有效值,建议限制数据存储中的值,并仅允许演示逻辑中已知的良好值。
仅限HTTP的cookie我们的示例hack演示了会话劫持攻击如何使用恶意JavaScript窃取包含用户会话ID的cookie。 因为在客户端JavaScript中读取和操作cookie的理由很少,所以请考虑将cookie标记为HTTP-only。 这意味着cookie将在浏览器中接收、保存和发送,但不能在JavaScript中更改或读取。
跨网站脚本的工作原理
接送门