首页
社区
课程
招聘
[旧帖] [原创]IIS8 HTTP.sys漏洞 深入分析 0.00雪花
发表于: 2015-4-29 11:02 8704

[旧帖] [原创]IIS8 HTTP.sys漏洞 深入分析 0.00雪花

2015-4-29 11:02
8704
void UlContentRangeHeaderHandler(REQUEST_INFO *request_info, 
									char *request_value, 
									int len)
{
Char *szBytes = “bytes”;
Int begin64[2];				//低地址存放低32位,高地址存放高32位
Int length64[2];			//这两个参数用于保存UlpParseRange解析range域的值

If(len < sizeof(“bytes”))
{
Return;
}

For(int i = 0;i < sizeof(“bytes”);++i)
{
If(request_value[i] != szBytes[i])
{
Return;
}
}

//调用UlpParseRange处理bytes后面的begin和end,也就是“0-18446744073709551615”
UlpParseRange(request_value, len, &begin64, &length64);

//将begin和length保存到HTTP Request对象的range属性,2个64位数,共16字节
Memcpy(request_info->range, &begin, 0x10);
}
int UlpParseRange(char *request_value, 
					int request_len, 
					int *begin64, 
					int *length64)
{
//UlpParseRangeNumber函数作用是将字符串解析为64位整数,就不贴代码了
//解析符号“-”前的begin,将结果保存到begin64
UlpParseRangeNumber(request_value, &request_len, &request_value, begin64);

...
...
//request_value修正,request_len修正操作
...
...

//解析符号”-”后面的end,将结果保存到
UlpParseRangeNumber(request_value, &request_len, &request_value, length64);

//下面开始进行合法性检查
If((begin64低32位) & (begin64高32位) == 0xFFFFFFFF)
{
Return error;
}

If(begin64高32位 >= length64高32位)
{
If(begin64高32位 > length64高32位)
{
Return error;
}
Else
{
If(begin64低32位 > length64低32位)
{
Return error;
}
}

mov eax, leng64低32位		//0xFFFFFFFF
mov edi, begin64低32位		//0x0
mov ecx, length64高32位		//0xFFFFFFFF
mov edx, begin64高32位		//0x0

sbb eax, edi					//补丁修复前
sbb ecx, edx
add eax, 1					//eax = 0x0,保存请求长度的低32位
adc ecx, 0					//ecx = 0x0,保存请求长度的高32位

*length_64 = eax;				//length64是一个int [2]数组,高地址保存高32位
*(length_64 + 4) = ecx;			
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 4
支持
分享
最新回复 (11)
雪    币: 208
活跃值: (60)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
是否有信息泄露可能?
2015-5-5 13:20
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习力。。。
2015-5-5 16:49
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
好厉害呀
2015-5-5 17:09
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习了,很有用,谢谢!
2015-5-6 00:10
0
雪    币: 215
活跃值: (90)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
http://www.securitysift.com/an-analysis-of-ms15-034/

http://blog.trendmicro.com/trendlabs-security-intelligence/iis-at-risk-an-in-depth-look-into-cve-2015-1635/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Anti-MalwareBlog+%28Trendlabs+Security+Intelligence+Blog%29
2015-5-6 09:03
0
雪    币: 42
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习了确实不错
2015-5-10 23:44
0
雪    币: 11
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
国外的大牛确实厉害,分析的很透彻
2015-5-13 16:00
0
雪    币: 7885
活跃值: (2285)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
分析的不错,学习了
2015-5-15 21:37
0
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
有点高深 学习中
2015-5-15 23:39
0
雪    币: 1626
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
已经跪了...
2015-5-17 11:40
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
看看。。。
2015-5-22 21:52
0
游客
登录 | 注册 方可回帖
返回
//