标签:
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
也就是说,这个页面下,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