文章目录

  • 一、“秋名山老司机”
  • 二、“速度要快”
  • 三、“cookies欺骗”

一、“秋名山老司机”

开启环境,提示要在两秒钟计算结果


多次刷新发现每次的值不一样,并且知道了答案要通过赋值给value然后post上去


想到可以通过获取网页源代码使用eval()执行算式

编写以下python脚本

#requests实现请求,bs4获取标签内容
import requests,bs4
url = 'http://123.206.87.240:8002/qiumingshan/'#由于每次刷新后算式会不同,需要保持会话
rs = requests.session()
rsg = rs.get(url)
content = rsg.content#获取div标签内容,并通过split分离出算式
soup = bs4.BeautifulSoup(content,'lxml')
txt = str(soup.find("div")).split("=")[0].split(">")[-1]#eval执行算式得到结果
ans = eval(txt)#将结果赋值并post
data = {"value":ans
}
rsp = rs.post(url,data=data)#打印返回的结果
print(rsp.text)

多次运行后得到FLAG

Bugku{YOU_DID_IT_BY_SECOND}

二、“速度要快”

打开环境提示开启速度太慢

使用Burp查看抓包


多次尝试发现,flag是base64密文且每次均会改变

解题需要把flag的明文赋值给margin并且post

编写以下python脚本

#requests实现请求,base64实现加解密
import requests,base64#session保持会话确保flag不变
rs = requests.session()
rsg = rs.get("http://123.206.87.240:8002/web6/")#获取包含在请求头里的密文
bs64 = rsg.headers['flag']#去除开头的 'flag:',此处引号后面有个空格才是base64密文,使用空格分隔提取后半部分
flag = base64.b64decode(bs64).decode().split(" ")[-1]#解密
flag = base64.b64decode(flag).decode()#赋值并且post
data = {'margin':flag
}
rsp = rs.post("http://123.206.87.240:8002/web6/",data=data)#打印返回结果
print(rsp.text)

运行得到FLAG

KEY{111dd62fcd377076be18a}

三、“cookies欺骗”

打开环境发现get请求了两个参数


filename通过base64解码发现是keys.txt

filename改成base加密的index.php:aW5kZXgucGhw

并且给line赋值,猜想是按行号读取


编写python脚本尝试读取整个index.php

import requestsrs = requests.session()for i in range(1,21):url = 'http://123.206.87.240:8002/web11/index.php?line={}&filename=aW5kZXgucGhw'.format(i)rsg = rs.get(url)print(rsg.text)

得到源码

error_reporting(0);$file=base64_decode(isset($_GET['filename'])?$_GET['filename']:"");$line=isset($_GET['line'])?intval($_GET['line']):0;if($file=='') header("location:index.php?line=&filename=a2V5cy50eHQ=");$file_list = array(
'0' =>'keys.txt',
'1' =>'index.php',
);if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){$file_list[2]='keys.php';
}if(in_array($file, $file_list)){$fa = file($file);
echo $fa[$line];
}?>

代码审计可知:FLAG在文件keys.php里面,并且需要令get请求的Cookiemargin=margin

使用Burp构造请求,base64加密:a2V5cy5waHA=

得到FLAG

KEY{key_keys}

欢迎在评论区留言
感谢浏览

BugkuCTF_Web——“秋名山老司机”、“速度要快”、“cookies欺骗”相关推荐

  1. BugkuCTF: 秋名山老司机(web)

    题目描述: 亲请在2s内计算老司机的车速是多少 1565348110-1585852319+1424136689-501596850-364488737*872756914-663618483-112 ...

  2. 秋名山老司机 (Bugku) re库和request库

    尝试写的第一个python脚本--之前一直只会用工具(不,有的工具也还不会用--)可以说是很神奇了 先贴上代码: import requests import re url='http://120.2 ...

  3. 老司机都懂的x件事,一般人我不告诉他

    临近双十一, 小编还寻思着不知道买点啥的时候, 室友忽然告诉我ta!买!车!了! ? 忽然间脑海里就闪现过秋名山车神的种种名场面-- <头文字D> 来源:知乎@飞隅 开始盘算哪天一起出去自 ...

  4. 亚马逊63岁「老司机」困在算法里,工作4年却因机器评分太低被开除!

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来源:外媒 编辑:LQ [导读]63岁的老司机诺曼丁为亚马逊Flex配送干了4年,11 ...

  5. 老司机 iOS 周报 #24 | 2018-06-25

    新闻 <WWDC 17 内参>免费订阅 去年我们组织针对 WWDC 17 的内容写了 25 篇文章,原来售价 39 元,现在免费开放给大家. "iPhone Only" ...

  6. python数据结构推荐书-腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗?...

    原标题:腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗? 稍微关心编程语言的使用趋势的人都知道,最近几年,国内最火的两种语言非 Python 与 Go 莫属,于是,隔三差五就会有人问:这两 ...

  7. 【InfoQ大咖说直播回放】老司机聊程序员的职场道路选择

    9月22日,网易云信CTO阙杭宁做客InfoQ大咖说,直播畅聊 --程序员的职场道路选择.以下是直播录播视频及演讲整理文字稿. 本视频1小时03分,建议在Wifi下观看 前言 用三个问题作为开场吧.大 ...

  8. 通信系统设计与python的书_腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗?...

    原标题:腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗? 稍微关心编程语言的使用趋势的人都知道,最近几年,国内最火的两种语言非 Python 与 Go 莫属,于是,隔三差五就会有人问:这两 ...

  9. 老司机的应用级监控——spring?actuator

    http://mt.sohu.com/20160824/n465783118.shtml ************************************************ 1什么是sp ...

  10. 新手必看一位老司机的十年开车经验

    今天,小编为大家收集整理了一个老司机的十年开车经验,新手们一定要学哦,因为这种宝贵的开车经验是我们以后开车过程中每天都要用到的常识.将来无论在什么时候,这种宝贵经验都会给我们带来更安全的行车时光. 新 ...

最新文章

  1. 智源沙龙 | 人工智能“3个30年”之后,下个30年将走向何方?
  2. J.U.C系列(一)CountDownLatch的使用
  3. (Spring程序开发)简介程序开发步骤配置文件相关API
  4. 如何判断一个程序是 32bit 还是 64bit ?
  5. UTF-8和GBK有啥区别?
  6. hdu1540/poj2892 线段数区间合并
  7. 英雄联盟祖安服务器要维护多久,祖安玩家的春天!英雄联盟将回归队内语音,娱乐玩家遭殃了?...
  8. 日期居然用字符串保存?我笑了
  9. AsyncTask 源码流程简析
  10. react 更新input 默认值setfieldsvalue_值得收藏的React知识点查漏补缺
  11. #Linux学习笔记# Linux系统查看文件内容的命令
  12. 关于计算机航天生物的想像作文,未来的航天员想象作文
  13. Centos7.4 安装Docker CE版
  14. Confluence 6 安全相关问题提交链接
  15. java 关于时间处理
  16. java联机对战五子棋游戏(SWT版)
  17. oracle12162错误,ORA-12162: TNS:net service name is incorrectly specified报错问题如何解决?...
  18. 工控机上位机软件的开发历程(一)
  19. 百度云实现语音识别及语音合成
  20. Windows/Linux获取Mac地址和CPU序列号实现

热门文章

  1. 项目管理助力组织赢在VUCA时代
  2. Android多线程理解
  3. 厦大C语言上机1382
  4. 今日恐慌与贪婪指数为20 恐慌程度有所上升
  5. android 系统后台进程数限制
  6. 【前端】jQuery上传图片插件 : uploadifive
  7. PHP 使用用户排队机制解决网站大访问量的例子
  8. Microsoft Teams 思维导图的4大好处,你知道怎样创建吗?
  9. 鸡得呼吸道病会易发啥病 鸡喂什么药预防打喷嚏
  10. 360浏览器打开html不能正常显示图片,“网页图片显示异常,网页图片、验证码显示不正常,经常显示不全或根本不显示”的解决方案...