加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 基于DOM的XSS攻击和InnerHTML

发布时间:2021-07-06 04:17:19 所属栏目:大数据 来源: https://www.jb51.cc
导读:如何确保以下基于DOM的XSS攻击? 具体来说,是否有一个protect()函数,使下面的安全吗? 如果没有,那么还有另一种解决方案吗? 例如:给div一个id然后再为该元素分配一个onclick处理程序 ?PHPfunction protect(){ // For non-DOM XSS attacks, hex-encoding al

如何确保以下基于DOM的XSS攻击?

具体来说,是否有一个protect()函数,使下面的安全吗?
如果没有,那么还有另一种解决方案吗?
例如:给div一个id然后再为该元素分配一个onclick处理程序

<?PHP
function protect()
{
   // For non-DOM XSS attacks, hex-encoding all non-alphanumeric characters
   // with ASCII values less than 256 works (ie: xHH)
   // But is it possible to augment this function to protect against
   // the below DOM based XSS attack?
}
?>

<body>
  <div id="mydiv"></div>
  <script type="text/javascript">
    var xss = "<?PHP echo protect($_GET["xss"]) ?>";
    $("#mydiv").html("<div onclick='myfunc(""+xss+"")'></div>")
  </script>
</body>

我希望答案不是“避免使用innerHTML”或“正则表达式xss变量到[a-zA-Z0-9]”……即:是否有更通用的解决方案?

谢谢

解决方法:

扩展Vineet的回复,这里有一组测试用例:

http://ha.ckers.org/xss.html

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读