欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

初探XSS

来源:本站整理 作者:佚名 时间:2016-10-08 TAG: 我要投稿

 1. 基础准备知识

(1) php: <?php ?>部分由服务器解析后并连带html代码一并返回给浏览器,类似jsp的操作,一般开发中都使用smarty模板将前端后端分开。所以在XSS跨站中,可以使用get参数传值的方式进行XSS攻击

(2) EL表达式:对于EL表达式${name},EL表达式首先从page,session,request,

application。范围内检索信息,直到检索到name的信息后则会停止检索。

非持久形XSS:通过构造编码恶意URL发送给用户,当其点击的时候则会执行JS语句将客户信息发送到攻击者能捕获到的位置.

(3) <script defer="defer"> </script>这样的脚本只有在页面加载完毕会执行。正常脚本都是在页面加载前就已经执行了。

(4) getElementsByTagName()("head")[0].appendChild(s);获取某个标签的第几个元素追加一个元素。

(5) 使用document.wirte()的时候要注意不要在该<script>标签里使用defer属性。在页面加载完成后在使用document.write()会覆盖已经加载的页面。所以js代码在浏览器解析过程中单位是事先被加载的。

(6) 强大的eval函数,eval函数

持久型XSS:利用别的漏洞将文件或js代码上传到服务器。通常可以使用博客,留言等功能进行恶意代码的上传。当别人浏览该博客时就会执行恶意js代码。其不需要用户单击URL,常用于挂马,渗透,钓鱼。传播蠕虫之用。

XSS是针对客户端的攻击,也就是所有的cookie,post,http头,get都会产生XSS

持久型XSS攻击中,当XSS代码没有被执行而是被直接显示在页面上的时候极有可能是代码被转义

2.绕过XSS过滤器

(1) 使用<>来注入js:最简单的注入使用<script>来进行注入

(2) 利用HTML标签来注入:利用很多html标签属性支持伪协议如javascript:[]的形式,如table的background属性,img的src属性,还有以下标签可以进行XSS注入,href,lowsrc,bgsound,backgound,value,action,dynsrc,有的浏览器不支持伪协议。

(3) 通过空格和回车:可以使用空格和回车进行XSS过滤器的绕过,针对完整名黑名单的比对,如直接检测输入中是否含有javascript等标记的过滤器。可以将javascript写成jav   ascript,JaVaScRiPt,等。与绕过sql注入过滤器的思路是一样。记住以分好来标记结束就行

(4) 编码转换:对javascript进行编码转换来绕过,javascipt:alert('xss');转换为javascriptt:alert(/XSS/);,将字母转为对应的ASCII(美国信息交换标准代码)形式。

(5) 产生自己的事件:在input中用事件,<input type="text" value=""   onclick="alert(/xss/)" />

W3C将事件分成三个不同类别:

用户接口(鼠标,键盘)

逻辑(处理的结果)

变化(对文档进行修改)

有如下事件可以加以利用来执行XSS代码:

onResume

onReverse

onRowDelete

onRowInserted

onSeek

onSynchRestored

onTimeError

onTrackChange

onURLFlip

onRepeat

onMediaComplete

onMediaError

onPause

onProgress

onOutOfSync

oncontrolselect

onlayoutcomplete

onafterprint

onbeforeprint

ondataavailable

ondatasetchanged

ondatasetcomplate

onerrorupdate

onrowenter

onrowexit

onrowsdelete

onrowsinserted

onselectionchange

onbounce

onfinish

onstop

onresizeend

(6)利用CSS跨站剖析

1.<div style="background-image:url(javascript:alert(/xss/))">

2.<style>

body {background-image:url("javascript:alert('xss')");}

</style>

3.<link herf="xxx.css">

xxx.css如下

body{

background-image:url("javascript:alert(/xss/)");

}

4.

p{

background-image:expression(alert('xss

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载