2014 iscc re+pwn+misc writeup

admin 2022年5月17日12:09:35评论60 views字数 4661阅读15分32秒阅读模式

0×00 最近
web方向的writeup
今天终于考完了最后一科了 之前就比较懒 也没更东西 不过把blog的google字体去掉了 blog的速度提升了很多 还要谢谢Dr0pLe7大神 才发现了blog的好多问题 谷歌字体的那个问题 可以用插件试试看 dw-replace-open-sans和disable-google-fonts还有remove-open-sans-font-from-wp-core 这三个插件 可以尝试一下 如果能直接用插件解决就用插件解决吧 不用改代码 有的国外的主题用插件没效果 比如我的这个corpo主题 就没办法 我就修改了themes/corpo/functions.php中的corpo_enqueue_css()中和google字体相关的注释掉 blog提速了 好开心 之前还一直以为是sae的问题 原来是google字体的问题 google被墙之后 这个问题更加严重
最近还在看推理小说 日本的东野圭吾写的一些很好看《嫌疑人X的献身》很巧妙的构思 《白夜行》悲剧的爱情 都很好看 要是看专业书籍有看推理小说这么快就好了 哈哈 还在努力的看着drops.wooyun.org的文章 从头看起 各种方向的 涨姿势ing 世界杯也好看 进球多 好精彩 常常通宵看球
functions.php的注释方法

// Load CSS styles
function corpo_enqueue_css()
{
    
    //$subsets = 'latin,latin-ext';
    $protocol = is_ssl() ? 'https' : 'http';
    //$query_args = array(
    //    'family' => 'Open+Sans:400italic,400,600,700',
    //    'subset' => $subsets,
    //);
    $color_scheme = of_get_option('corpo_color_scheme','red');
    
    //wp_enqueue_style( 'corpo-fonts', add_query_arg( $query_args, "$protocol://fonts.lug.ustc.edu.cn/css" ), array(), null );

    wp_register_style('font_awsome-css', get_template_directory_uri() . '/css/font-awesome.min.css', array(),  null);
    wp_enqueue_style('font_awsome-css'); 
    
    wp_register_style('corpo-css', get_stylesheet_directory_uri() . '/style.css');
    wp_enqueue_style('corpo-css'); 
    
    wp_register_style('color_scheme', get_template_directory_uri() . '/css/color_scheme/'.$color_scheme.'.css');
    wp_enqueue_style('color_scheme');    

}

0×01 web01
web的第一题是给了一个elf文件
CrackBynet
然后在ida里载入 linux文件 在win下的ida也是可以进行静态的分析的 之前一直以为是要在linux下面 然后就是发现了有一个echo(void)函数很特殊 里面又一句the password is:后面的是一些字符串的处理 然后我们就是要想办法运行这个echo函数
2014 iscc re+pwn+misc writeup
这里我使用了linux下的调试工具gdb 是个神器 kali里就有自带的
可以用命令行的方式调试一些C、C++等的程序 这里我们就尝试使用了call 函数的方法 来执行

gdb
file crackBynet 
run
Ctrl+C
call echo()

2014 iscc re+pwn+misc writeup
直接call没法运行 需要先run一下程序
还有一个要注意的是 file crackBynet 还有一个打开的方式是gdb crackBynet
两种方式有一些区别
首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。
如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址。当你用-g把调试信息加入之后,并成功编译目标代码以后,我们可以使用gdb crackBynet 假如没有-g参数的话 那么就可以使用file crackBynet
还有一种方式是可以在程序先运行之后再attach pid到gdb里面
这里使用pgrep这个linux命令可以快速搜索pid

./crackBynet
pgrep crackBynet
15893
gdb
attach 15893

the password is : vs24dedfd343e

0×02 逆向 何去何从
这里是题目的下载链接
一道win的逆向 先运行一下 看看是什么情况
2014 iscc re+pwn+misc writeup
发现了要求输入密码 然后这里有一个比较的过程 比较我们输入的密码和程序默认的密码 我们就需要通过逆向 来寻找到传说中的密码
使用Ollydbg来动态调试一下 先多F8单步步过 观察一下关键的函数之类的 然后发现了那个输入的函数
2014 iscc re+pwn+misc writeup
CrackMe1.004010C6 这个函数F7单步步入跟进去看看
2014 iscc re+pwn+misc writeup
这里F8一步步看 这里要求输入 我们随便输入123456尝试一下
之后有一个生成密码的函数 我们F7跟进去
2014 iscc re+pwn+misc writeup
然后就发现是一个循环 生成了一个密码
push ecx
ecx寄存器的字符串就是一个特殊的密码
2014 iscc re+pwn+misc writeup
(3q^;^3lfjq&D7V4Hhd
这个就是特殊字符串 我们单独拿来作为密码输入
2014 iscc re+pwn+misc writeup
发现回显不一样了 难道这个就是传说中的密码 我拿去提交了之后发现还是不对
看来还是不对 我们再研究一下这个程序
我们用一下插件 中文搜索引擎 搜索一下ASCII
2014 iscc re+pwn+misc writeup
发现了有一个字符串 答案就是这:\n
我们跟进去看看
2014 iscc re+pwn+misc writeup
然后发现了一个没有调用过的函数 00401000
我们看来要想办法调用这个 我这里没有去研究算法 逆向还比较水 看到一些算法有点晕
我这里用了爆破的技巧
00401118 |. E8 32FFFFFF call CrackMe1.0040104F
爆破为
00401118 E8 E3FEFFFF call CrackMe1.00401000
让程序进入那个没有运行过的函数 F7跟进
然后就发现了还是一个循环 生成字符串 还是没去看算法 但是最后没有在寄存器啊堆栈里发现整个字符串 所以我就一位一位的慢慢的记录
2014 iscc re+pwn+misc writeup
在00401035 看到数据窗口的ds =28(‘(‘) 可以看到(字符 然后一位一位的读取
最后读出来是这个字符串
(3q&vf2vw%f7Vj9Ookj

0×03 pwn4 镇压叛乱

原来情报显示,附属诸侯国都还在使用老版本的Adobe reader,而你正好知道一个Adobe reader 9.0中文版的漏洞,请你利用漏洞构造pdf文档,使其被打开后弹出一个DOS框。
要求:提交构造好的pdf文档、解题过程的详细文档。
测试环境:WinXP sp3,Adobe reader 9.0中文版

这个题是要挖掘Adobe reader 9.0的漏洞 要是能徒手挖掘这些漏洞 那就是pwn大神了 可惜我还不会 那么就只能默默的去收集一下大神挖掘过的Adobe reader 9.0的漏洞
http://www.exploit-db.com/ 这里可以找到一些相关的exp利用程序 除了应用之类 还有linux的提权也可以在这里找找
搜索一下Adobe reader
http://www.exploit-db.com/exploits/11787/
发现了这个 可以来尝试一下
还有一个python的exp脚本 http://www.exploit-db.com/download/11787
要求是弹cmd的shellcode 我们去百度一发
cmd shellcode xp sp3
第一条就是http://bbs.pediy.com/showthread.php?t=109808

"\x8B\xEC\x33\xFF\x57"
"\xC6\x45\xFC\x63\xC6\x45"
"\xFD\x6D\xC6\x45\xFE\x64"
"\xC6\x45\xF8\x01\x8D"
"\x45\xFC\x50\xB8\xC7\x93"
"\xBF\x77\xFF\xD0";

这里提供了一个cmd的shellcode 我们整理一下

buf = '\x8B\xEC\x33\xFF\x57\xC6\x45\xFC\x63\xC6\x45\xFD\x6D\xC6\x45\xFE\x64\xC6\x45\xF8\x01\x8D\x45\xFC\x50\xB8\xC7\x93\xBF\x77\xFF\xD0'

然后就可以生成一个pdf文件了
镇压叛乱.pdf
2014 iscc re+pwn+misc writeup

0×05 misc9 秦国未来
秦穆公临终前,有一位高人前来拜见,他说他能预言秦国未来的命运,但是他的语言似乎与秦人不通,于是作为秦穆公手下的你需要帮助君主翻译一下他的话啦!貌似安卓手机比较方便。你最终翻译出来的明文就是flag啦!
密文如下:581281782052002261931782052001981972132252091681561501341179897101177
提供的文件下载
给了一个elf的文件 提示是有个安卓手机比较方便 那么我们就要想办法在安卓机里运行这个程序 可以使用adb 我是直接用我的红米去运行的
要运行一些终端什么的 可以在手机上装个cpython 里面附带了终端的 可以使用这个终端来执行一些linux的命令啊什么的 当然是要root过的 还要装一个busybox busybox是一个集成了上百个linux命令的程序
在执行的时候我还发现了权限的问题 执行的时候提示没有权限 Permission denied
2014 iscc re+pwn+misc writeup
估计是x权限的问题 我ll看了一些 是 —-rwxr-x 估计是root没权限 chmod 777 也没法改 求linux 安卓老司机 带带
可以在一个文件夹下执行 比较方便 不用改权限什么的 /data/local/tmp/ 这个目录下执行./ISCC
密文先分割一下 看情况是10进制的

58 128 178 205 200 226 193 178 205 200 198 197 213 225 209 168 156 150 134 117 98 97 101 177

要求输入字符 fuzz试试看 尝试看能不能出来第一个字符58 发现是ascii的: 就是第一个 然后就一位一位尝试 尝试发现一下规律
2014 iscc re+pwn+misc writeup

output[0] = (int):
(int)output[i]=(int)input[i]+(int)input[i-1] (i>0)

大概就是这样子 尝试了前几位是 :Flag 58 70 108 97 103 对应的int 比较好看到规律
然后 我就尝试用python编程来算算

crypto = [128,178,205,200,226,193,178,205,200,198,197,213,225,209,168,156,150,134,117,98,97,101,177]
num = [58]
[num.append(crypto[i]-num[i]) for i in range(23)]
#print num
flag = [chr(num[i]) for i in range(24)]
#print flag
content = "".join(flag)
print content

2014 iscc re+pwn+misc writeup
:Flag{Flag_for_ISCC2014}

0×05 后记
就记录了几道题目 各个方向的一点点接触吧 算法看着依旧头晕 果然是个体力活 求大牛看到 指点指点安卓的那个权限问题
web方向的writeup

FROM :appleu0.sinaapp.com | Author:appleu0

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月17日12:09:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   2014 iscc re+pwn+misc writeuphttp://cn-sec.com/archives/1012347.html

发表评论

匿名网友 填写信息