进入环境,是一串php代码

<?phperror_reporting(0);require __DIR__.'/flag.php';$exam = 'return\''.sha1(time()).'\';';if (!isset($_GET['flag'])) {echo '<a href="./?flag='.$exam.'">Click here</a>';}else if (strlen($_GET['flag']) != strlen($exam)) {echo '长度不允许';}else if (preg_match('/`|"|\.|\\\\|\(|\)|\[|\]|_|flag|echo|print|require|include|die|exit/is', $_GET['flag'])) {echo '关键字不允许';}else if (eval($_GET['flag']) === sha1($flag)) {echo $flag;}else {echo '马老师发生甚么事了';}echo '<hr>';highlight_file(__FILE__);

分析:

1.变量flag的长度要和变量exam的长度一致,是49

2.过滤了flag,[]等一些关键字

3.eval函数:把字符串按照 PHP 代码来计算。该字符串必须是合法的 PHP 代码,且必须以分号结尾。如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。

sha1可以利用短标签来绕过,<?php ?>是长标签,<? ?>是短标签,并且<?= ?>和<?php echo ?>是一样的意思

所以总的思路就是:用短标签和大括号,$$a绕过sha1和过滤的flag,[],用eval函数输出flag,并且用11111......使长度等于49,要注意用;?>闭合开头的<?php

最后的payload:

?flag=$a='fla1';$a{3}='g';?><?=$$a;?>111111111111111111

Bugku 闪电十六鞭相关推荐

  1. BugKu——闪电十六鞭

    打开题目链接 是一段php代码,应该是代码审计问题,首先分析源码 目标是输出flag变量,所以flag就在flag变量里面 输出条件有三个 flag变量长度等于$exam的长度,长度为49 flag变 ...

  2. 二十八、bugku 闪电十六鞭

    php字符对照 &quot=" <?phperror_reporting(0);require __DIR__.'/flag.php';$exam = 'return\''.s ...

  3. [bugku]-闪电十六鞭

    ==============================简化源码==============================1.strlen($_GET['flag']) != strlen($e ...

  4. bugku ctf 闪电十六鞭 <?= ?> 短标签

    0x00 解题须知 在php中 <? ?>和<?= ?>是短标签 而<?php ?>是长标签 其中<?= 是代替 <? echo的 <? ?> ...

  5. BugKu_闪电十六鞭

    访问目标地址 发现了一段php代码,又是代码审计的问题 分析代码 <?phperror_reporting(0);require __DIR__.'/flag.php';$exam = 'ret ...

  6. bugku-闪电十六鞭

    1: 打开环境看看,bp备好的然后我就抓了, 没有任何意义 于是点击网站上的Click here,,,马老师 2:审计PHP代码, 如果没有用get传参传入flag,则会显示Click here(正常 ...

  7. 第三百三十六章 斗宗强者间的大战!

    第三百三十六章 斗宗强者间的大战! <script language="javascript" src="/js/style2.js"></s ...

  8. 第十六届全国大学智能车竞赛华东赛区成绩汇总

    简 介: 第十六届全国大学生智能车竞赛在上海理工大学举行.各组别成绩和奖项在本文中列出. 关键词: 智能车竞赛,华东赛区 §01 各组成绩 一.基础四轮组 学校名称 队伍名称 成绩 决赛成绩 获奖情况 ...

  9. 南京大学计算机 曹云浩,【2015.青春曲园】第二十六届“迎校庆”校园十佳歌手大赛独家放送~...

    原标题:[2015.青春曲园]第二十六届"迎校庆"校园十佳歌手大赛独家放送~ 林籁泉韵声动梁尘 如歌似梦落凡尘 如诗似画挂心头 曲阜师范大学第二十六届"迎校庆" ...

最新文章

  1. Nginx处理请求的11个阶段
  2. HDU_5249(百度之星D题)
  3. Java的系统Property
  4. 案例 月工作列表 c# 1614192274
  5. 如何在Wireshark确定数据集?
  6. 一位程序员 8 年的物联网奋斗史
  7. 用CSS制作细线表格
  8. 谷歌地球离线地图包_水经注全国离线地图都有哪些地图数据?
  9. 虚拟机ping通主机步骤_6在购买虚拟主机服务之前,请按照操作步骤进行操作
  10. hashcat跑包小秘诀
  11. 课程项目:大学程序设计相关大作业汇总参考及源码地址
  12. python 读视频_Python3读取视频保存视频
  13. Android源码目录结构详解(转载)
  14. 推荐一个外国的数据结构在线演示网站
  15. OpenWrt 系列教程汇总
  16. android如何绑定事件,Android_安卓为按钮控件绑定事件的五种方式
  17. Latex表示随机变量相互独立,不独立
  18. 给nz-select的nz-option设置样式
  19. ubuntu 更换国内源各大站点速度排名(江苏地区)
  20. 修改本地host文件加入可用ip使谷歌浏览器翻译插件重新生效

热门文章

  1. 寻找连通域C++程序复现(个人C++学习记录)
  2. zabbix的安装过程
  3. 文件修改默认打开方式的统一解决方法,doc、xls、ppt、jpg、pdf、zip、html等
  4. 宝宝腹泻怎么办?儿科医生分享小儿腹泻的辩证和处理方法
  5. 移动端h5兼容ios和Android
  6. 老闪创业那些事儿(外传)——努力干活,我错了?
  7. [FLEX笔记]网络监视器引起的Channel.Security.Error#2048
  8. 关于自控力差的人如何解救?
  9. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java面向大学生的党建管理系统07g68
  10. PyMySQL 安装