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

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

2015-4-29 11:02
8821
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
03dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4y4W2j5%4g2J5K9i4c8&6M7$3W2X3N6q4)9J5k6h3y4G2L8g2)9J5c8X3q4F1i4K6u0V1j5h3&6S2L8s2W2K6K9i4y4Q4x3X3c8G2k6W2)9J5k6r3#2K6x3e0g2Q4x3X3b7H3x3K6c8Q4x3V1j5`.

75bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2@1M7X3g2F1k6r3#2A6j5%4u0G2i4K6u0W2j5$3!0E0i4K6u0r3N6s2u0W2L8X3c8D9j5h3u0K6i4K6u0V1M7$3g2U0N6i4u0A6N6s2W2Q4x3X3c8A6L8Y4c8W2L8r3I4A6k6$3g2F1j5$3g2Q4x3V1k6A6K9i4y4Q4x3X3c8S2N6q4)9J5k6s2u0A6M7$3E0Q4x3X3c8S2L8W2)9J5k6r3W2F1i4K6u0V1k6r3g2H3N6r3S2Q4x3X3c8D9L8$3!0C8i4K6u0V1K9h3&6@1L8#2)9J5k6r3y4$3k6g2)9J5k6o6t1H3x3e0g2Q4x3X3b7I4y4U0x3#2i4K6u0r3i4K6y4r3N6i4c8E0i4K6g2X3M7$3!0#2M7X3y4W2i4K6y4p5k6X3g2W2k6r3u0#2M7X3&6W2M7W2)9J5y4Y4g2@1L8g2)9#2k6X3#2W2k6r3W2#2L8g2)9K6c8r3k6W2k6h3c8Q4x3U0k6#2N6r3#2Q4y4h3k6U0j5h3#2H3j5h3W2Y4L8W2)9K6c8p5k6W2k6h3c8Q4x3U0f1K6b7g2)9J5b7V1q4F1N6r3W2Q4x3X3c8y4j5h3I4%4j5i4u0W2b7X3I4G2k6#2)9J5b7W2)9J5y4e0t1^5g2s2u0W2L8X3c8D9j5h3u0K6i4K6u0n7f1$3g2U0N6i4u0A6N6s2W2Q4x3V1u0u0L8Y4c8W2L8r3I4A6k6$3g2F1j5$3g2Q4x3V1u0n7L8r3!0Y4i4K6t1#2x3U0V1`.
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
雪    币: 7979
活跃值: (2417)
能力值: ( 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
游客
登录 | 注册 方可回帖
返回