Friday, June 12, 2009

【转载】跨上草尼马,挥刀斩河蟹-绿坝V3.17超长URL溢出漏洞exploit by seer

原文地址 http://blog.sskaje.name/2009/06/v317urlexploit-by-seer.html

2009-06-12 23:02

28度的冰 19:29:31
哪里有绿坝下载啊。我正需要这样一款软件。
28度的冰 19:29:39
平时上网总是有暴力

28度的冰 19:29:45
色情网站蹦出来
28度的冰 19:29:48
可讨厌了
也云 19:29:54
2
28度的冰 19:29:58
正好用绿坝过滤一下
seer 19:30:01
2
28度的冰 19:30:29
这么好的软件就算收费也是值得的
28度的冰 19:30:49
况且还免费预装
seer 19:30:48
我们要相信ZF是在保护孩子们
28度的冰 19:30:51
太好了
seer 19:31:12
比如,它只拦截IE

这就从小教会了孩子们使用Firefox

============用群里的某段聊天来开篇==============

为了监视用户的浏览网页行为,绿坝注入了IE进程,在处理超长的URL时,就会在IE的进程空间中触发一个典型的栈溢出.具体原理可以看看密歇根大学的牛人们给出的分析http://www.cse.umich.edu/~jhalderm/pub/gd/, 不错的学校...

Exploit中使用了.net部署shellcode的方式,(BlackHat2008上公布的那招),这是一种比HeapSpray更稳定的方式, 而且不卡IE,还能绕过Vista下的DEP和ASLR. 懒得写生成器了,我给出的利用程序shellcode是弹出XP sp2的计算器,所以更接近一个PoC,要换shellcode的话需要手动改下.net中的shellcode,然后用VS重新编译 exploit.dll,这也算是防止被菜鸟们滥用的一个小小的门槛吧...

Tips1:由于带有.net控件,这个exploit必须在IIS上发布(需要服务器装有.net framework,IIS不需要特别的设置),直接点开是不行的

Tips2:具体的编译方式放在附件中了,复制粘贴吧,只要你有VS开发环境...

exploit下载:http://www.namipan.com/d/40c1b70f9ed40b2baf3e0fbe826254a324c2823755090000

Enjoy Hacking~;-)

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

1 居然qq聊天记录里没有我说话,真悲剧
2 我们要和谐
3 为啥zzjinhui.com连不上了呢?来人爆破md5吧....呃,没用,那个站都连不上了,admin的密码有了也白费
4 算了还是继续不和谐吧。。


然后,再赞一下milw0rm的速度
http://milw0rm.com/exploits/8938

Saturday, May 16, 2009

test

just for a test

悲剧啊……

呃……翻出来了……刚才还在163的勃客上抱怨
要是有朝一日连翻都翻不出去了,那么麻烦大家记下这个url:linwai23.blog.163.com,也许我会被逼回去的……也算是个公告吧

补记周记一则(这个在163上写了,看过的可以免看了):昨天打球NB了,居然把防守我的人晃倒了,呵呵,不过我得到的经验是:进攻的流畅程度取决于防守队员,昨防守我的那个人身体很壮(一个顶我两个),但是速度和脚步欠缺得太多,而且没有身高优势,居然还用艾弗森的防守方法,看着我直往上扑,于是向左一个crossover,再向右一个转身,引得他变向的时候绊在了我的腿上,再加上他防守强度一直很高,被我带着全场跑,结果…

Friday, May 8, 2009

忙里偷闲

MCM下一关在月底才会开始,ISCC也算正是上线了,虽然无线关还没有搭好,不过事情也不多了,可以小小的休息一下了……
前天跑回家来,去丝丝那玩freesbee,前几天练爆发力,导致腰酸背痛腿抽筋,天气又热又闷,在吃了大量冰棍饮料小西红柿之后导致腹泻,呃……
不过在他的指点下做掉了破解的3、4、5关,发现其实算法都不是很难,关键点就是如何突破程序中的干扰(定时弹窗口、反调试、花指令),还有就是,呃……要对汇编指令熟悉才行,幸好在高二做单片机的时候是从读汇编源码开始的,而且后来在seer大大的指点下看了x86的汇编(虽然只看了前几章,但是发现受益良多),在加上我无耻的用漏洞刷了脚本关,结果现在分数比丝丝都高了……shame。。。
于是下学期的计划是:1、专业课&玩无线电。2、学破解。3、做飞机玩。4、如果实在闲得蛋痛的话就是找女朋友+练吉他
顺便:我终于换了留了20年的发型,不再是板寸了,昨天去理发店,把后面剪短了,然后前面打薄,准备留分头了……希望能留成谍影重重里马特达蒙那样……

Sunday, May 3, 2009

就不让人睡个安稳觉……记某些纱布

今天是五四运动90周年,对于我来说……往年的五四……什么?我完全没有印象,总之应该是稀里糊涂的就过了,基本上除了春节(被迫离宅活动,在亲戚家打CS)和一二九(被拉去跑圈或者合唱)这种充满了人为不可抗因素的日子,我全都是稀里糊涂的就过去了……
然后在2009年五月三号这个伟大的日子里,叫兽同学收到了一条短信(其实有很多短信),总之内容就是:明天早上六点半就要上操,或者说,上操场(也不知道要干嘛)
其实早起对于我来说影响不是很大,尤其和我们寝室那几个相比,他们别说早起,早一分钟都不肯起(其实谁不愿意好好睡一觉呢)。
早上起来的第一项活动是升国旗,听到有人说“升国旗了”,然后一阵小小的骚动,大家左转仰视旗杆的时候发现旗已经到了四分之一出,但是居然没有奏国歌,也许不是没奏,而是只拿了个稍大些的喇叭放国歌,对于偌大个操场,谁也听不到动静……在大家肃立的时候,组织者完全没把升国旗当会事。
然后传说中领导要在七点讲话,只看到一百米开外的小看台上站了几个衣冠楚楚的人,然后前面的同学开始鼓掌,掌声渐渐向后蔓延,就像人浪一样……台上的人也许在说话吧,可是我连嘴都看不清无法确定是领导在讲,我应该抱以雷鸣般的掌声呢;还是光荣的学生代表在讲,我该抱以热烈的掌声……这时候人群已经渐渐散开了,大概,是朝着两个食堂的方向去了吧……

补:早起有个好处,就是我把破解第二关做完了……

Thursday, April 30, 2009

网页干扰码的生成

我以前写过一个去除干扰码的小程序,后来企鹅说出题出题出题,于是就想起来反其道而行之,出一道打码题,而且还是厚码,HOHO
废话少说,上代码

echo <<<HTML
<head>
<style type="text/css">
span {display: none}
</style>
</head>
HTML;

这句话具体应该怎么解释我也说不太清楚(没有好好看过css的内容),大概作用就是使能span标签,因为之后我们需要用到<span style="display:none">内容</span>,它就是看不到的干扰码

function utf8_substr($str, $start, $len) {
$tmpstr = "";
$strlen = $start + $len;
for($i = $start; $i < $strlen; $i++) {
if(ord(substr($str, $i, 1)) >= 224) {//三位长度的UTF8
$tmpstr .= substr($str, $i, 3);
$i+=2;
}
else if(ord(substr($str, $i, 1)) > 0x80) {//两位的
$tmpstr .= substr($str, $i, 2);
$i++;
} else if(ord(substr($str, $i, 1))==0x0a) {//如果是换行,特殊处理
$tmpstr .= "<br />";
} else if(ord(substr($str, $i, 1))==0x20) {//空格也要替换成HTML的编码
$tmpstr .= " ";
} else//剩下的ASCII码就不先不管了,其实还应该再加上像>这样的符号的替换(因为目标字符串是从一个文件中读出的文档)
$tmpstr .= substr($str, $i, 1);
}
return array($tmpstr,$i-$start);
}

这个是在字符串中穿梭用到的函数,有了它才能保证不会把中文截成乱码,我用的UTF-8的编码,对于其它编码这个函数没用
传入的是字符串、开始截取的位置和要截取的字长(不是串长)
返回的是切好的字符串和它在替换处理前的strlen(),注意切好的字符串中的换行和空格都被替换掉了,如果直接求strlen的话无法确定所处理过的原串的长度
在函数里对3位、2位和1位的UTF8码进行分别处理(避免出现把编码错误截断造成乱码),对一些常用字符还要进行替换
这个函数其实是我从网上找的,它原来只将一位的编码和其它编码区分了开来,导致在处理文章的时候还是会产生乱码,后来我研究了其它的几段代码,自己改了一下
ord()用来得到一位编码的对应的ASCII码,从它(一串编码的第一个)可以区分出它跟后面几个码是连续的,然后切开

$artical = rand(1,10);
$artical = $artical.".txt";
$pointer = fopen($artical,'r');
$size = filesize($artical);
$handle = fread($pointer,$size);
fclose($pointer);

从10个文档里随机抽取一篇,读出数据丢到$handle中进行处理

echo "<p>";
for($tmp = 0;$tmp < $size;$tmp+=$len)
{
$len = rand(15,40);
$out = utf8_substr($handle,$tmp,$len);
$len = $out[1];
$out = $out[0];
echo $out;
echo '<span sytle="display: none">';
for($j = rand(3,8);$j > 0;$j--)
{
$span = chr(rand(0,0xffff));
$span = iconv("ASCII","UTF-8",$span);
if($span=='<'||$span=='>'||$span < 0x20)
{
if($tmp+12 < $size&&$tmp > $len)
echo substr($handle,$tmp-$len,rand(1,10));
$j--;
}
else
echo $span;

}
echo "</span>";
}

现在开始正是处理,$len是要跳过的串长,改rand里的值就能修改插入干扰码的概率了
然后是调用字符串切割函数,切下一段出来,然后要知道该输出些什么,还有切掉的原串的长度(函数返回的)
下面加上一段干扰码,格式在之前已经说过了,就是那个span标签,随机数出里面的内容。具体过程是这样的:rand()出一个数,插入那么多字符,可以改得长一些。依然random出一个数,用chr强制为char类型,然后转成UTF8,然后只要是<、>或者是格式控制符,统统舍弃,否则的话有可能会“随机”出来一个HTML标签,然后就全乱套了(我搞出来过好多次)……然后顺便再从之前的$handle的串中取出些东西搅和搅和,总之是打码么,那么反正已经让人看着不爽了,小不爽不如大不爽,搞得越糟越欢乐

if($tmp < $size)
{
$out = substr($handle,$tmp,$size-$tmp);
echo $out;
}
echo "</p>";

最后记得把剩下没输出完的那点内容填充上,然后就用html标签收尾好了

Wednesday, April 29, 2009

忙啊忙

数学建模+ISCC赶题+补作业……
OMG
求一个什么事情都没有的假期,还有一个能使我在这个假期里不那么无聊的女孩
如此