Web

疯狂星期四

 <?php$tg1u=$_GET['tg1u'];if(!preg_match("/0|1|[3-9]|\~|\`|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\=|\+|\{|\[|\]|\}|\:|\'|\"|\,|\<|\.|\>|\/|\?|\\\\|localeconv|pos|current|print|var|dump|getallheaders|get|defined|str|split|spl|autoload|extensions|eval|phpversion|floor|sqrt|tan|cosh|sinh|ceil|chr|dir|getcwd|end|next|prev|reset|each|array|reverse|pop|rand|flip|content|echo|readfile|highlight|show|source|file|assert|getallheaders|current|pos/i", $tg1u)){//我要吃疯狂星期四!!!!!!!!!eval($tg1u);
}
else{die('这都做不出来是准备请师兄吃疯狂星期四吗?');
}highlight_file(__FILE__); 

考核的时候知道是原题,但搜不到emmm

考完之后找师兄请教才知道迅速查找的方法就是直接搜最关键的:正则表达式

还有就是搜索引擎的选择也很重要,平时我们习惯使用的一些引擎上面其实并没有多少好东西

换一换找一找就有了

当然了,学习方法才是最重要的

看了正则表达式发现,字母a-z大小写、空格全被过滤, 数字就留了个2

所以这里需要构造一个session,用session_start() 来开启 session,在用 session_id() 来获取 session。

理论可行,但是发现查看根目录失败,这是因为PHPSESSID里面不能包含空格 

别忘了数字2是没被过滤的,所以这个时候就要想到用 hex2bin() 它会将十六进制转换为对应的ASCII码值

也就是说如果我将命令进行十六进制编码,再使用 hex2bin() 进行解码执行就可以绕过过滤

编码过后果然可行了 

然后继续

直接 cat /F111114a9g

admin Pro Max

是登录题

然后考核的时候也是弱口令 admin admin 试了一下就进去了

都点开看了一下没发现什么有用的

但是访问之后看url发现是通过 file 来读取文件的

考核一直以为是伪协议,这里得到提示返回 sql 注入

刚开始不管怎么样都找不到注入点,不管是 GET 还是 POST ,后面发现 单引号 ' 被过滤

大概意思就是在 username 语句处使用反斜杠 \ 把后面的单引号 ' 转义掉,就可以使 username 和 password 形成一个完整的 SQL 查询语句。

例如原查询语句为  ... username='$_POST[username]' and password='$_POST[password]'

加入单引号: ... username='$_POST[username]\' and password='$_POST[password]'

转义以后: ... username='$_POST[username] and password='$_POST[password]'

也就是不管前面对不对,后面的注入都会回显

这个时候尝试在 password 处进行注入就可以了

接下来就按老套路就可以了

 列数不对换成3试试

发现第2位是回显位

数据库名

 表名

列名

 爆flag

但这是个假的flag

后面我也不会,联想到 file 但不知道怎么做,问了同学才知道需要写入木马(sql写马的知识)

可以用 outfile 和 dumpfile 来写 

区别在于 outfile可以输出多行内容,而dumpfile只输出一行内容,还有outfile会破坏文件原有的数据格式 (如 \n 会变成 \)

用法:

"写入的内容" into outfile/dumpfile "绝对路径"

这里学到用 @@secure_file_priv 查询可以写入木马的路径

得到可以写入的目录 /var/lib/mysql-files/

接下来写入拿来的马

这个时候再 admin 弱口令进入 /home.php 界面,访问刚刚写入的目录下的马

 但是第2位没有回显,那就试试传一个参命令执行吧

然后在 secret 中找到 flag

 这次就对了

 瓦学弟上分记

这题就用 dirsearch 扫出php反序列化的源码,由于我还没学php反序列化,所以这题先放一下

图床

这题考核的时候我还是用 dirsearch 扫到源码

这题考核的时候我也是卡在寻找哈希值这一步,但是考核完出来找到网站了

就是这个 彩虹表 MD5 在線免費解密 MD5、SHA1、MySQL、NTLM、SHA256、SHA512、Wordpress、Bcrypt 的雜湊

所以那一串对应的哈希值转换过来是

Adm12geC

所以 TG1u 这个用户的密码知道了就可以登录,在这之前我发现普通用户也可以登录

 但是上传的图片没有权限查看

然后先用 TG1u 用户查看,密码登录

发现这次就可以查看到图片,说明密码正确

 然后既然是 file_path 就尝试一下普通用户命令执行

直接抓包搞一下

发现可以执行

这个时候就可以直接写马上去了

看一下传了这么多次终于是传上去了(1.php)

但是切换 TG1u 用户以后执行不了

system也不行

问了一下AI跟我说可能是我传递给 eval 的语法错误

那就只能用普通用户的 system() 进行双写绕过了,但是这样需要提权

之前可以用 sudo -i 的bug但是被修了

 用普通用户看了一下根目录发现了 flag 目确实是存在

那就切换为 TG1u 用户利用上传的马进行文件包含执行提权命令cat falg即可 

文件包含刚刚普通用户上传的 3.phtml 图片马(环境没了我重新开和上传了一下)

执行system sudo提权的同时查找 /flag 目录下的所有文件,然后 -exec 命令对找到的文件进行cat,再用占位符 {}填充,最后结束命令 \; 得到 flag

?file_path=3.phtml&a=system('sudo find /flag -exec cat {} \;');

 RE

师兄爱恋故事1(取证)

是名为exe也没有后缀的附件

加个 .exe 后缀试一下

提示是pyinstaller

所以应该就是用pyinstaller打包的py文件

用工具解包 

查了一下

你有用途是否能用 PyInstaller
.py 文件打包成 .exe✅ 支持
.exe 文件想逆向成 .py❌ 不支持(需要反编译工具)

 pyinstxtractor.py —— 提取 PyInstaller 包内容;

uncompyle6pycdc —— 将 .pyc 反编译成 .py;

Python 对应版本(重要!必须匹配)

 最下面有 师兄的故事.pyc 然后给他反编译成python

用在线工具把pyc转py文件 这里也可以:Pyc 转 Py - 百川在线工具箱 

 然后发现是AES加密

然后用ai写一个AES解密脚本 

from Crypto.Cipher import AES# 提供的信息
AES_KEY = b' \xf3\x10\x0bA.\xfe\xd1\xb9\x16\xa2\xde\x03\xc4\xdf\x00'
AES_IV = b',\x19\xd5\xd3\xf5\xf2\xe9\xf7\xd0\xe1\x0e\x98I!J\xcd'
ENCRYPTED_PASSWORD = b'.\xd6nP\x7f@Z\xe4\xb7\xd3\xfb\x82r_/q'
# 创建AES-CBC解密器
cipher = AES.new(AES_KEY, AES.MODE_CBC, AES_IV)# 解密数据
decrypted = cipher.decrypt(ENCRYPTED_PASSWORD)# 移除PKCS7填充
pad_length = decrypted[-1]
if pad_length < 1 or pad_length > AES.block_size:print("警告:填充值无效,可能不是PKCS7填充")password = decrypted
else:# 验证并移除填充if decrypted[-pad_length:] == bytes([pad_length] * pad_length):password = decrypted[:-pad_length]else:print("警告:PKCS7填充验证失败,尝试直接输出")password = decrypted# 尝试以多种编码格式解码结果
def decode_bytes(data):try:return data.decode('utf-8'), 'utf-8'except UnicodeDecodeError:try:return data.decode('latin-1'), 'latin-1'except:return data, 'hex'# 显示解密结果
result, encoding = decode_bytes(password)
print("\n" + "="*50)
print(f"密钥 (hex): {AES_KEY.hex()}")
print(f"IV (hex): {AES_IV.hex()}")
print(f"密文 (hex): {ENCRYPTED_PASSWORD.hex()}")
print("\n解密结果:")
if encoding == 'hex':print(f"原始字节: {password}")print(f"十六进制: {password.hex()}")print(f"Base64: {base64.b64encode(password).decode('utf-8')}")
else:print(f"明文密码: {result}")print(f"编码格式: {encoding}")print(f"原始字节: {password}")
print("="*50)

跑一下

Yunxi{20250812}

来喽来喽

下载附件后是exe

先查一下壳

是zip,给它改为 zip后缀解压一下看看文件

发现一堆txt文件 images里面也是一堆图片

但是发现有一个exe文件

exe就再查一下

发现是pyinstaller 

那就和上面那题一样解包

之前师兄说这种直接就找 pyc,所以注意到 d.pyc

然后进行反编译

PyLingual

这个网址要挂代理才能访问

得到源代码,一个加密过程,有加密数据,而密钥在那个 txt 文件里面

搜了一下是python中的一种对称加密方式,使用fernet解密

Fernet 在线解密 | 长亭百川云

这是什么东东,是python代码 

所以关键部分就是输入“糖果”之后就会输出 flag

但是喵的不能复制,那笨方法就是分屏一个个敲了提交

当然,截屏后文字提取也可以

看了一下同学的好方法是继续利用python代码输出

将flag生成代码就复制粘贴,用python输出

喜欢师兄讲的课吗(安卓逆向)

下载的附件名就叫 zip 所以改后缀.zip

解压后是个apk文件

这里也是学习到了

安卓逆向所需工具:

任务工具推荐
反编译 APKjadx、apktool
分析 .soGhidra、IDA Pro、Cutter、Radare2
解密、调试算法Frida(动态分析)、Python(重写算法)

这题用用jadx来进行安卓逆向

下载jadx

jadx安卓反编译工具 0.6.1下载_jadx安卓反编译工具 0.6.1官方下载_3DM软件

下载后先进入jadx的文件夹中用cmd来打开Dos命令窗口 

 

然后逐一执行

cd lib
jadx-0.6.1\lib>java -jar yourjadxversion.jar

这样就进入了 gui 界面的 jadx

同时打开刚刚的apk文件 

接下来就可以开始逻辑分析了(找main函数......和idea差不多)

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

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

相关文章

从Prompt到预训练:掌握大模型核心技术的阶梯式进化

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 在探讨大模型&#xff08;LLM&#xff09;的四阶段技术时&#xff0c;我们可以从Prompt Engineering&#xff08;提示工程&#xff09;、AI Agent&…

手机文件夹隐藏工具,一键保护隐私

软件介绍 今天为大家推荐一款手机文件夹隐藏工具——Amarok&#xff0c;它能帮助用户快速隐藏手机中的私密文件夹&#xff0c;保护个人隐私。 核心功能 Amarok主打文件夹隐藏功能&#xff0c;操作简单便捷。需要注意的是&#xff0c;虽然软件支持应用隐藏功能&#xff0…

day10-Redis面试篇

经过前几天的学习&#xff0c;大家已经掌握了微服务相关技术的实际应用&#xff0c;能够应对企业开发的要求了。不过大家都知道在IT领域往往都是面试造火箭&#xff0c;实际工作拧螺丝。为了更好的应对面试&#xff0c;让大家能拿到更高的offer&#xff0c;我们接下来就讲讲“造…

Axure版本Element组件库-免费版

Axure版本的Element组件库基于Element UI/Plus设计规范开发&#xff0c;涵盖了从基础元素到复杂交互的全品类组件&#xff0c;能高效支撑各类Web原型设计&#xff0c;尤其适合后台管理系统、企业级应用等场景。以下从核心类别展开详细介绍&#xff1a; 链接地址 添加图片注释&a…

记一次JVM问题排查

今天遇到了1次OOM&#xff0c;导入万条数据的Excel于是让运维进行排查。正式环境显示内存还有很多 于是我说让运维加上参数 -XX:HeapDumpOnOutOfMemoryError&#xff0c;出现OOM的时候dump到文件中&#xff0c;将堆内存设置为4G&#xff0c;在Idea上进行测试于是让运维在生产环…

快手Kwai Keye-VL多模态大模型模型架构、训练策略、数据情况

快速看一下Kwai Keye-VL的技术报告&#xff0c; 模型架构 Keye-VL和经典的MLLM架构类似&#xff0c;由ViTMLPLLM组成。视觉侧有两点可以看看&#xff1a; 1、具有原生分辨率的视觉编码器 提到&#xff0c;MLLMs使用预训练的固定分辨率ViT作为视觉编码器。然而&#xff0c;这…

前端-CSS-day2

目录 1、后代选择器 2、子代选择器 3、并集选择器 4、交集选择器 5、伪类选择器 6、超链接伪类 7、CSS特性-继承性 8、CSS特性-层叠性 9、CSS特性-优先级 10、优先级-叠加计算 11、Emmet写法 12、背景图 13、背景图平铺方式 14、背景图位置 15、背景图缩放 16、…

米思齐2.0 3.0 mixly arduino 编程软件下载安装及详情使用指南 导入库文件方法 支持8266 esp32

一、米思齐软件下载及安装 1、 米思齐软件下载 https://item.taobao.com/item.htm?id883253312209 2、软件版本简单说明&#xff1a; a、 Windows版本&#xff08;建议win10及以上系统使用&#xff09;&#xff1a; 一键更新完整版 2.8GB-3GB&#xff1a;下载后解压即可使…

结构体指针:使用结构体指针访问和修改结构体成员。

知识点结构体指针Employee *p; 保存结构体的地址&#xff1b;p->member 用箭头运算符访问或修改成员。数组与指针Employee *emps malloc(N * sizeof *emps); 动态创建结构体数组&#xff1b;p < emps N 与 p 配合遍历。scanf 与数组退化p->name 是 char name[50] 的…

支持零样本和少样本的文本到语音48k star的配音工具:GPT-SoVITS-WebUI

支持零样本和少样本的文本到语音48k star的配音工具&#xff1a;GPT-SoVITS-WebUI 官网&#xff1a;RVC-Boss/GPT-SoVITS: 1 min voice data can also be used to train a good TTS model! (few shot voice cloning) 用户手册&#xff1a;GPT-SoVITS指南 功能 零样本文本到语…

基于odoo17的设计模式详解---备忘模式

大家好&#xff0c;我是你的Odoo技术伙伴。在开发复杂的业务流程时&#xff0c;我们有时会遇到这样的需求&#xff1a;在对一个对象进行一系列复杂操作之前&#xff0c;保存其当前状态&#xff0c;以便在操作失败或用户希望撤销时&#xff0c;能够一键恢复到操作之前的样子。或…

基于Web门户架构的监狱内网改版实践:值班排班系统设计与信创适配探讨

面向监狱内网改版场景的门户平台技术架构与智能排班实践关键词&#xff1a;监狱内网改版、监狱内部网站改版、值班排班系统、信创适配、智能门户架构一、场景背景与问题分析 在信创国产化、等级保护合规、政务集约化趋势持续推进的背景下&#xff0c;传统监狱内部网站普遍面临如…

二分查找篇——在排序数组中查找元素的第一个和最后一个位置【LeetCode】

34. 在排序数组中查找元素的第一个和最后一个位置 一、算法逻辑&#xff08;逐步通顺讲解每一步思路&#xff09; 该算法用于在一个升序排列的数组 nums 中查找某个目标值 target 的第一个出现的位置和最后一个出现的位置。 ✅ 1️⃣ 定义 lower_bound 函数 def lower_boun…

【深度学习新浪潮】AI在材料力学领域的研究进展一览

一、材料力学的研究范畴 材料力学是固体力学的核心分支,聚焦于材料在载荷作用下的变形、失效规律及性能优化,其核心任务是揭示材料的强度、刚度和稳定性机制。具体研究内容包括: 基本力学行为:分析杆、梁、轴等结构在拉伸、压缩、弯曲、扭转等载荷下的应力分布与应变响应。…

WPF之命令

命令的定义&#xff1a;命令与事件的区别&#xff1a;命令是具有约束性的。命令还可以控制接收者"先做校验&#xff0c;再保存&#xff0c;再关闭"。命令&#xff1a;WPF的命令&#xff0c;实际上就是实现了ICommand接口的类&#xff0c;平时使用最多的是RoutedComma…

百度文心一言开源大模型ERNIE-4.5-0.3B-PT深度测评

号外号外&#xff01;6月30号&#xff0c;百度文心一言官宣开源ERNIE 4.5大模型&#xff01;&#xff01;&#xff01; 一收到这个消息&#xff0c;博主就立马从GitCode拉了个模型&#xff0c;本地私有化部署体验了一下&#xff0c;一个字&#xff0c;酷&#xff01; 鉴于绝大…

零基础,使用Idea工具写一个邮件报警程序

打开idea&#xff0c;创建一个project打开文件目录下的pom.xml文件&#xff0c;添加下面的内容安装依赖&#xff0c;等待下载完成<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> &…

字体 Unicode 区块字符展示 PDF 生成器

Unicode 字体字符集可视化工具 - 代码介绍 项目概述 这个工具是一个用于分析和可视化字体文件中包含的 Unicode 字符的实用程序&#xff0c;能够扫描指定字体文件&#xff0c;提取其中包含的所有 Unicode 字符&#xff0c;并按 Unicode 区块分类生成 PDF 文档&#xff0c;直观展…

第4章:实战项目一 打造你的第一个AI知识库问答机器人 (RAG)

各位老铁&#xff0c;欢迎来到我们专栏的第一个实战项目。 在过去的三个章节里&#xff0c;我们已经完成了所有的理论储备和环境搭建。我们理解了LLM的本质&#xff0c;掌握了Prompt Engineering的要领&#xff0c;洞悉了Embedding和向量数据库的魔力&#xff0c;并且熟悉了La…

身份证识别api-便捷生活与安全社会的双重保障

身份证识别技术是人工智能和图像处理领域的杰出产物之一&#xff0c;正逐步渗透到我们生活的方方面面。而最直观的作用就是简化身份证验证流程。现如今&#xff0c;无论是银行开户、酒店入住还是政务办理、线上支付&#xff0c;都需要输入 身份证信息进行身份验证&#xff0c;传…