第十届全国大学生信息安全竞赛-线上赛 write up(持续更新)

0x00 WEB

PHP execise -web150

PHP exercise
这是一道分值150的web题,打开题目链接之后,看到题目界面
题目界面
可以看到有一处输入的地方可以输入PHP语句
尝试执行以下phpinfo(),这里解释下,phpinfo是一个运行指令,目的为显示php服务器的配置信息
phpinfo()输出 PHP 当前状态的大量信息,包含了 PHP 编译选项、启用的扩展、PHP 版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。
phpinfo()

然后发现禁用了以下的函数
函数禁用

接着可以输入一下代码

foreach (glob("./*") as $filename) {  echo $filename."<br>"; }

来获取当前目录
再用highlight_file()函数读取flag文件
附上highlight_file()用法
这里写图片描述

wanna to see your hat? -web250

这里写图片描述
这是一道分值250的web题
打开题目链接之后???
这里写图片描述
肿么肥事,给我一堆帽子??还好不是绿色的
点击下面的链接之后
这里写图片描述
发现一个输入框输入名字,当然随便输入了点东西,之后…………
???!!!
这里写图片描述
他还真的绿了……
暂时没发现什么特别的
查看了一下register的界面
这里写图片描述
假设,这道题存在sql注入的漏洞。当然这还不是最后的结论,当我在一通操作之后,发现还是没有突破。
那就要考虑下自己的方向是不是错了,然后考虑一下尝试别的常见的题型,比如源码泄露,这里利用自己搜集的字典,用一些扫描工具扫一下,果然,发现了源码泄露
这里写图片描述

svn恢复工具: https://github.com/kost/dvcs-ripper

这里写图片描述
使用方法
这里写图片描述
可以看到已经恢复完了
这里写图片描述
这里利用一个工具进行代码审计——Seay源代码审计系统
这里写图片描述
打开之后,首先寻找我们最关心的flag值,在index.php里看到了它的身影,嗯,已经很接近了,再来看看它需要什么条件。

if(isset($_SESSION['hat'])){
    if($_SESSION['hat']=='green'){
    output("<img src='green-hat-1.jpg'>",10);
    }else{
    output("<img src='black-fedora.jpg'>",1);
    echo $flag;
    }

这里需要一个session值不为green且不为空则输出flag
然后我们继续寻找在哪里进行session的设置
这里写图片描述
嗯,有了重大突破

if (isset($_POST["name"])){
  $name = str_replace("'", "", trim(waf($_POST["name"])));
  if (strlen($name) > 11){
    echo("<script>alert('name too long')</script>");
  }
  • 19
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值