码迷,mamicode.com
首页 > Web开发 > 详细

第三届4.29“安恒杯”网络安全技术大赛初赛wirteup心得-WEB

时间:2016-04-23 22:58:37      阅读:1770      评论:0      收藏:0      [点我收藏+]

标签:

writeup地址:

http://www.easyaq.com/news/international/4631.html

http://www.easyaq.org/info/infoLink?id=851212685&from=groupmessage&isappinstalled=0

 

WEB1

解题第一步骤,我发现了username和uid根本就是加密了。。当时就一个劲的想怎么解admin。。原来题目的漏洞在于uid啊,,,官网给的writeup原谅我看不懂。。不过,我觉得这篇讲的很好,里面的python语句也写得挺好:http://www.tuicool.com/articles/N3iIBzN

 

WEB2

由于是小菜,所以WEB2让我直接了解了一句话木马,

首先,找到可写目录,这个要慢慢试

然后,写一句话代码,可以先放入数据库,也可以直接写进去

select xxx into outfile ‘var/www/…’

然后菜刀连接,可以去查查目录里面有没有

 

WEB3

这道题呢,是反序列化题,对我来讲是很新的知识点

大致的该题的思路见:http://www.tuicool.com/articles/BfuayyI

index.php网页有一句这样的话:技术分享

也就是说,这个页面下,session的序列化方法是php,我们或查看phpinfo.php发现,session默认的序列方法是php_serialize(php>=5.5.4) 关于他们的区别:

php
键名 + 竖线 + 经过 serialize() 函数反序列处理的值

php_binary
键名的长度对应的 ASCII 字符 + 键名 + 经过 serialize() 函数反序列处理的值

php_serialize
(php>=5.5.4)经过 serialize() 函数反序列处理的数组

当两个网页使用不同的序列化函数,bug就产生了:http://drops.wooyun.org/tips/3909

在一般情况下,该攻击的实现需要一个网页去构造序列化参数,然后另一个页面以另一种反序列化方式读取它,导致执行。但是我们这个题目,根本没有session的读取。。

所以,我们要自己创造。。

技术分享

这是官网上给出的代码,嘛意思呢?就是我们根据phpinfo.php的信息,发现,session.upload_progress.enabled是打开的,也就是文件任意上传啊,很开心有木有。。没有。然后我们就上传一个文件,然后php就会给我们创建一个session,为了控制上传进度,具体可以看:http://php.net/manual/zh/session.upload-progress.php

问题就剩下,怎么构建我们的漏洞与语句了,官网writeup也是给了,但是后来结束比赛我没跑成功(注意标点的中英文):

用抓包软件修改上传数据包,将filename修改为filename=”|O:4:/”foo1/”:1:{s:4:/”varr/”;O:4:/”foo2/”:2:{s:4:/”varr/”;s:1:/”1/”;s:3:/”obj/”;O:4:/”foo3/”:1:{s:4:/”varr/”;s:30:/”system(/”ls -a /var/www/html/”);/”;}}}”

访问index.php,列出文件目录,找出flag文件。

再次抓包上传,filename修改为filename=”|O:4:/”foo1/”:1:{s:4:/”varr/”;O:4:/”foo2/”:2:{s:4:/”varr/”;s:1:/”1/”;s:3:/”obj/”;O:4:/”foo3/”:1:{s:4:/”varr/”;s:27:/”system(/”cat flag_xxx.php/”);/”;}}}”

访问index.php获取flag

第三届4.29“安恒杯”网络安全技术大赛初赛wirteup心得-WEB

标签:

原文地址:http://www.cnblogs.com/puluotiya/p/5425850.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!