freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

看雪ctf—流浪者
ATL实验室团队 2019-03-25 13:28:03 209673

下载题目得到一个MFC程序,打开看一下有一个窗口。任意输入一串字符串看一下返回结果貌似没啥用。

图片.png图片.png通过IDA打开该程序,打开字符串窗口(如果是有字符串的程序,搜索字符串最便捷)

图片.png看到这两个字符串很可疑,感觉可以从这找到突破点

图片.png双击字符串,可以在程序中找到这串字符

图片.png选择字符串,键盘输入“x”查看交叉引用

图片.png按F5查看伪代码

图片.png这段伪代码的意思是通过接收一个变量a1来控制数组aAbcdefghiabcde的角标获取数组中的字符并赋值给Str1,通过Str1与字符串“KanXueCTF2019JustForhappy”进行比较,如果相同则返回pass!

图片.png理清了思路,现在只要求出控制这串字符串的变量a1即可解出此题。所以我们继续向上找寻sub_4017F0这个函数,按“x”查看在哪引用了这个函数

图片.png

可以看到这里通过对用户输入的判断以及运算返回一个值v5,这个值将传给上面的a1。


经过对伪代码的分析,我写了下面一段C程序解出flag,仅供参考。

#include<stdio.h>    

intmain(){ 

chara[]="KanXueCTF2019JustForhappy";

charb[]="abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ";     

intc[25];   

inti;int j;   

for(i=0;i<sizeof(a);i++){     

       for(j=0;j<sizeof(b);j++){    

             if(a[i]==b[j])    

              c[i]=j;                      

       }                   

}//计算每个字符在字符串中的位置   

intx;               

for(i=0;i<25;i++){   

       for(j=48;j<=122;j++){                                                                     

              if(j>57||j<48){    

               if(j>122||j<97){        

                           if(j>90||j<65)    

                               continue;     

                            else             

                            x=j-29;          

                    }                

               else         

                  x=j-87;      

         }              

              else               

         x=j-48;        

       if(x==c[i])         

       printf("%c",j);//此处直接将ASCII码值转换为字符串  

       }                   

}                    

printf("\n");        

return0;            

}           

# CTF
本文为 ATL实验室团队 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
凯信特安全团队
ATL实验室团队 LV.1
这家伙太懒了,还未填写个人描述!
  • 94 文章数
  • 100 关注者
带你走入CTF之路-杂项MISC(五)
2020-03-18
带你走入CTF之路-杂项MISC(四)
2020-03-16
带你走入CTF之路-加密Crypto(一)
2020-03-13