X-NUCA8月专题赛赛前练习第二题的解题思路

发表于:2016-08-22 15:30:00 来源:  合天网安实验室 阅读数(0人)

VC8的程序无壳无花,简直好评。直接用xspy定位按钮响应函数:




直接扔到OD,下个断点向下跟:




单步走一走,围观用户名和密码的读入,然后看看都做了什么操作:




由于估计是VS2012或者VS2010编译的,所以牵扯到unicode和ASCII的转换,这些都不太重要,继续往下F4+F8走着……




第一个关键函数和跳转,貌似会检查你的用户名和下载的用户名知否一致?不一致就会挂,这里一致的话直接过掉。然后看到一串奇怪的base64:


eax=00195EE0, (ASCII "5CjV18S5la+Q/rIrXkhMRQ==")


ebx=D2993F27


猜测和用户名有关,继续往下找比较的地方(跳过很多求长度的循环):




这里可以很容易看出是一个字符串的拼接,把输入的密码按照奇数和偶数位拆开,然后做拼接,继续前进……




看到了关键的比较函数,push了两个参数,一个是变换了之后的密码,还有一串乱七八糟的16进制,F7跟进去看看:




断点下到这里,一目了然。直接把变换后的密码和那串数字比较:


3 5436a56313853356c612b512f724972586b684d52513d3d


所以写个脚本,把变换之前的密码求出来,即拆成两半,然后插入……


最后的flag:


325f473264a957623518368b5638345d65c2651123bd531d




相关新闻

大家都在学

课程详情

SQL注入之绕过is_numeric过滤

课程详情

Zabbix_SQL注入漏洞分析

课程详情

逆向之CTF