标签 ‘Anehta’ 下的日志

浅谈反射型XSS的利用

|=---------------------------------------------------------------------------=|
|=-------------------------=[ 浅谈反射型XSS的利用 ]=-------------------------=|
|=---------------------------------------------------------------------------=|
|=---------------------------------------------------------------------------=|
|=----------------------=[     Author: ShadowHider ]=----------------------=|
|=--------------------=[    <ShadowHider_at_msn.com>   ]=--------------------=|
|=-----------------=[      http://hi.baidu.com/zrxc/      ]=-----------------=|
|=---------------------------------------------------------------------------=|

-[目录]
-0x01 前言
-0x02 什么是反射型XSS
-0x03 反射型XSS的常见利用方法
-0x04 浅析Anehta回旋镖模块工作原理
-0x05 小结

Anehta -- hijackLink()链接劫持

作者: 刺

在Anehta 0.5.6 中引入了一个新的函数

anehta.trick.hijackLink();

这个函数是来源于 Dustin D. Trammell   的一篇blog,

http://www.breakingpointsystems.com/community/blog/clickjacking-technique-using-the-mousedown-event

这也可以认为是clickjacking的一种,不过我认为叫做 hijackLink 更加合适。

原理就是 绑定 链接的 onmousedown 事件, 当鼠标点击链接时,将href 替换为新的url,从而起到了劫持的效果。

Anehta -- 灵活的Cache机制

作者: 刺

有心的朋友可能已经注意到了,Anehta 中实现了一个客户端Cache。

位置在core里面:
anehta.core.cache = function(){}

在core中我预定义了一个变量,可以让我们很方便的操作cache:

// 初始化一个cache出来共享数据
var anehtaCache = new anehta.core.cache();

Anehta -- More on Hook Submit:阻塞Method的技巧

作者: 刺

上一篇提到了如何做hook,也讲到了hook表单提交的几种不同方式。

今天要讲的是实现的一点细节。

我们知道,javascript中大部分的method都是非阻塞的,这样的好处是可以提高效率,坏处是很多时候我们确实是需要阻塞的功能。

极少数method是阻塞的,比如 alert()这个函数,在alert()执行完成并返回前,alert()之后的javascript代码都不会执行。

Anehta -- hook任意javascript函数

作者: 刺

其实,JS中最简单的hook是直接重载目标函数。在之前提到的“JSON Hijacking”中就是使用的这种方法。

简单来说,就是把目标函数重新定义一遍,这样就会覆盖掉原来的函数,当函数执行时,就会跑去执行新的函数了。

但是这种方法效率不高,且通用性不好,所以我在Anehta 中重新实现了一次通用的hook函数。

Anehta 中的hook方法包括三个:hook、unhook、injectFn