web漏洞-XSS跨站之代码及httponly绕过
httponly:设置后将使得通过js脚本无法读取到cookie
PHP中设置:<?php
ini_set(“session.cookie_httponly”,1);
?>
因为进入后台有通过cookie或通过账户密码,禁止js读取cookie,可以通过获取账号密码来登录后台。
获取账号密码:
保存读取:浏览器已经保存过之前登陆的账户密码,可以通过xss来获取保存的明文密码
未保存读取:采用表单劫持,必须在登录框页面写入xss跨站脚本
xss练习环境搭建phpstudy+xss-labs-master(将xss-labs-master文件夹放在phpstudy的www目录下)
采用了实体化过滤xss代码,首先判断js代码是否会在其他地方执行,可不可以用“闭合掉从而执行xss;若过滤了尖括号可以通过 οnclick='alert(1)'来避免输入尖括号;当onclick也被过滤时可以通过< A href=‘javascript:alert(1)’>/来实现;每一种方法中都可以尝试大小写绕过过滤;还可以采用utf-7编码绕过;如果type=“hidden”,可以再写入一个type=‘text’,因为是hidden的话,难以在页面中找到触发xss代码的事件。
跨站点脚本恶意使用:
在www.123.com添加管理员的数据包:
www.123.com/adduser.php?username=‘1’&&passwd=‘123456’
可以在www.456.com中加入一段代码:
所以只要www.123.com的管理员在访问456.com时登录着123.com的后台,便会自动添加管理员。
防止方法:检测referer是否同源
版权声明:本文为weixin_46425310原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。