网络安全实验室6.解密关
6.解密关
1.以管理员身份登录系统
url:http://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/index.php
进入网站点击忘记密码的链接,进入到重置密码的模块
输入aaa,点击抓包,发送到重放模块go
查看返回的链接,接下来会跳转到这个页面,sukey是用来验证的,盲猜是MD5加密,username是要重置的用户名
服务器会对提交的sukey和username的值进行匹配
首先对sukey进行MD5解密,见识多的一看就知道这是个时间戳
对时间戳进行转换,发现确实是
我们可以通过伪造sukey的值来重置admin的密码
抓包查看服务器的时间,发现比北京时间晚了8小时,转成时间戳就是慢了28800
第一种方法:在重置密码的页面输入admin,放包,记录服务器的时间戳
记录上面图片的时间戳
写脚本生成对应的时间戳字典
with open("pass.txt","w") as f:for x in range(1xxxx0000,1xxxx0000): #大概的时间戳范围f.write("%d\n" % x)
之后点击重置密码的页面,用burpsuite神器爆破
字典加载上面脚本生成的字典
并且设置为MD5加密
开始爆破,查找长度不同的页面,得到key is yestimeispassword
第二种方法,使用python脚本进行爆破
import requests
import hashlib
import timese = requests.session()
headers = {'Cookie': 'PHPSESSID=423613048c7ae8017f654bea6fafe808'}while 1:sukey = hashlib.new('md5', str(int(time.time())-28800)).hexdigest()url = 'http://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/reset.php?sukey=' + sukey + '&username=admin'r = se.get(url, headers=headers)if r.content:print r.contentbreakelse:print 'Cracking: ' + sukey
脚本来源:https://blog.csdn.net/s0mor/article/details/102969444
2.邂逅对门的妹纸
点击Wifi-Crack
下载得到一个wifi-crack.cap包,根据提示信息可以发现,妹纸今年(2014年)上大三,猜测wifi密码可能是生日格式,出生应该在 1993 或 1994 年,看这样子密码应该是 8 位数字了,可以使用 EWSA 爆破。
写脚本生成一个字典dic.txt:
with open("dic.txt","w") as f:for year in range(1990,2014):for month in range(1,12):for day in range(1,32):f.write("%d%02d%02d\n" % (year,month,day))
接下来,使用 EWSA 爆破,点击左上角导入数据
选中下载的wifi-crack.cap的文件,然后选择“OK”,这里一定要看下是不是有效包,无效的握手包,在图示位置就会显示无数据。
导入数据之后,继续添加字典
选择一个准备好的字典,点击确定
点击开始测试,找到密码19940808,MD5加密32位小写提交e1a45d0d24cb87490b9efb2fc2e8a2ba
3.万恶的Cisco
第一种方法:使用在线cisco交换机密码破解的网站:Cisco Password Cracker
得到key:aishishenmadongxi@Admin
第二种方法:使用python2脚本
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Date: 2014/11/30
# Created by 独自等待
# 博客 http://www.waitalone.cn/
try:from cisco_decrypt import CiscoPassword
except ImportError:raise SystemExit('\n模块导入错误,请使用pip进行安装!')cisco_pass = '02070D48030F1C294940041801181C0C140D0A0A20253A3B'
crack = CiscoPassword()
password = crack.decrypt(cisco_pass)
print password
4.万恶的加密
根据提示是某huawei/h3c交换机的加密密码,网上查找的脚本,可能是因为python2的Crypto.Cipher模块已无法安装,windows下无法运行此脚本,可以在kali下运行
# coding=utf-8
from Crypto.Cipher import DESdef decode_char(c):if c == 'a':r = '?'else:r = creturn ord(r) - ord('!')def ascii_to_binary(s):assert len(s) == 24out = [0]*18i = 0j = 0for i in range(0, len(s), 4):y = decode_char(s[i + 0])y = (y << 6) & 0xffffffk = decode_char(s[i + 1])y = (y | k) & 0xffffffy = (y << 6) & 0xffffffk = decode_char(s[i + 2])y = (y | k) & 0xffffffy = (y << 6) & 0xffffffk = decode_char(s[i + 3])y = (y | k) & 0xffffffout[j+2] = chr(y & 0xff)out[j+1] = chr((y>>8) & 0xff)out[j+0] = chr((y>>16) & 0xff)j += 3return "".join(out)def decrypt_password(p):r = ascii_to_binary(p)r = r[:16]d = DES.new("\x01\x02\x03\x04\x05\x06\x07\x08", DES.MODE_ECB)r = d.decrypt(r)return r.rstrip("\x00")if __name__ == '__main__':miwen = "aK9Q4I)J'#[Q=^Q`MAF4<1!!"print u'明文' + decrypt_password(miwen)
得到key为84432079
5.喜欢泡网吧的小明
url:http://lab1.xseclab.com/password2_454a7a7cb7213e14695c022cfb04141c/index.php
首先点击链接,下载读取后的dump文件,接下来用WinHex编辑器打开该文件
看到 只有前8行有意义,70以后都是无用的重复字节
题目提示说,卡片数据产生了一个字节的错误,大概就是修改文件头部,文件头应该有始有终,测试后发现是将第一个AA改为8A
从刷卡的页面来看,显示的是100.00,我们知道10000的十六进制是2710
根据题目要求要修改为200.00,而20000的十六进制是4e20
所以我们将两个1027改成204e就可以
得到key is cardcrack_skill_get!
6.异常数据
这道题目,第一眼看上去像是base64加密AGV5IULSB3ZLVSE=
但是解密后却不对ey!B҇vKU!
参考一下40huo同学写的脚本,非常厉害
# coding=utf-8
from base64 import *
import re
def dfs(res, arr, pos):res.append(''.join(arr))i = posfor i in range(i, len(arr)):if arr[i] <= 'Z' and arr[i] >= 'A':arr[i] = arr[i].lower()dfs(res, arr, i + 1)arr[i] = arr[i].upper()
arr = list('AGV5IULSB3ZLVSE=')
res = []
dfs(res, arr, 0)
res_decode = map(b64decode, res)
for i in res_decode:if re.findall(r'\\x', repr(i)):continueelse:print i
脚本运行后,得到hey!IloveU!
7.md5真的能碰撞嘛?
url:http://lab1.xseclab.com/pentest5_6a204bd89f3c8348afd5c77c717a097a/
点击网页查看源码
大概意思就是找一个和!1793422703!md5值一样的字符串,且这个字符串不能是!1793422703!
!1793422703!的MD5值是0e332932043729729062996282883873
本题会用到PHP处理0e开头的md5哈希字符串时的一个漏洞:
PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。
所以只要POST提交password的值经过md5加密后是0e开头就行,此处提供几个值password=s878926199a,240610708, QNKCDZO
得到yesyouareclever!
8.小明爱上了一个搞硬件的小姑凉
下载文件,用notepad++打开看看,发现SaleaeAsyncSerialAnalyzer
这就是提示里说的某逻辑分析仪
网上搜索,下载这个软件,把文件拖进去打开,右下角就出现了解码后的key:iloveyou,xiaoguniang!
这里需要注意里面的COMMA是逗号,自己转成
也可以自己搜索能打开后缀为logicdata格式的文件的软件,结果是一样的
9.有签名限制的读取任意文件
url:http://lab1.xseclab.com/decrypt1_53a52adb49c55c8daa5c8ee0ff59befe/md5_le.php
根据提示本题需要MD5长度扩展攻击
本题我们使用的工具是hash_extender,推荐使用Ubuntu进行安装
git clone https://github.com/iagox86/hash_extender
sudo apt-get install g++ libssl-dev
cd hash_extender
make
编译安装完成之后就可以继续了
./hash_extender -f md5 -l 32 -d ‘/etc/hosts’ -s ‘f3d366138601b5afefbd4fc15731692e’ -a ‘’ --out-data-format=html
-d 原始数据
-f 代表加密方式
-l key的长度
-s 原始的hash值
-a 添加的值
–out-data-format 输出的格式
组合一下New string和New signature
最后payload如下
http://lab1.xseclab.com/decrypt1_53a52adb49c55c8daa5c8ee0ff59befe/md5_le.php?filepath=%2fetc%2fhosts%80%00%00%00%00%00%00%00%00%00%00%00%00%00P%01%00%00%00%00%00%00&sign=1b17d9594eb404c97c5090b11660ac63
得到Flag is: Md5LenghtExtAttackNowYouSee
10.美丽的邂逅与密码器的开门密码
点击下载二进制的exe文件,需要输入的字符串长度大于50
得到0h_No_u_f0und_m3
文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。
免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。
转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。
博客:
https://rdyx0.github.io/先知社区:
https://xz.aliyun.com/u/37846SecIN:
https://www.sec-in.com/author/3097CSDN:
https://blog.csdn.net/weixin_48899364?type=blog公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirectFreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85
相关文章:

网络安全实验室6.解密关
6.解密关 1.以管理员身份登录系统 url:http://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/index.php 进入网站点击忘记密码的链接,进入到重置密码的模块 输入aaa,点击抓包,发送到重放模块go 查看返回的链接…...

了解并发编程
并发与并行的概念: 并发:一段时间内(假设只有一个CPU)执行多个线程,多个线程时按顺序执行 并行:同个时间点上,多个线程同时执行(多个CPU) 什么是并发编程? 在现代互联网的应用中,会出现多个请求同时对共享资源的访问情况,例如在买票,秒杀与抢购的场景中 此时就会出现线程安…...

(C语言)程序环境和预处理
问:1. 什么是C语言的源代码?2. 由于计算机只认识什么?因此它只能接收与执行什么?也就是什么?3. 在ANSI C的任何一种实现中,存在哪两个不同的环境?在这两种环境里面分别干什么事情?4.…...

RiProV2主题美化增加支付页底部提示语ritheme主题美化
美化背景 默认的RiProV2主题在支付提示页,是没有这一行提示的 希望增加根据用户类别,未登录用户购买时提示:当前为游客模式购买。或者其他提示,提示用户未登录购买不保存购买记录等。 索引关键字:ritheme主题美化之增加支付页底部提示语,RiProV2主题美化增加支付页底部提…...
2022年文章分类整理
文章目录JetPack系列Kotlin相关View相关多线程相关存储相关Gradle相关动画相关其他2022年公众号(名字:代码说)发表的文章,分类整理一下,方便阅读!2023,继续加油,共勉!JetPack系列 Android Jetp…...
蓝牙设备中的Device UUID 与 Service UUID
Device UUID也可以被称作为DeviceID。 Android 设备上扫描获取到的 deviceId 为外围设备的 MAC 地址,相对固定。 iOS 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间生成的 UUID,是设备上的Core Bluetooth为该设备分配的标识…...

【学习记录】PCA主成分分析 SVD奇异值分解
在看MSC-VO代码的过程中,大量出现了奇异值分解的内容,本身对这部分了解不多,这里补一下课,参考b站up主小旭学长的视频,链接为:PCA主成分分析和SVD主成分分析 PCA主成分分析 PCA根本目的在于让数据在损失尽…...

用 Python 调用 GPT-3 API
用 Python 调用 GPT-3 API GPT-3 是去年由 Open AI 推出的语言机器学习模型。它因其能够写作、写歌、写诗,甚至写代码而获得了广泛的媒体关注!该工具免费使用,只需要注册一个电子邮件即可。 GPT-3 是一种叫 transformer 的机器学习模型。具体…...

类和对象实操之【日期类】
✨个人主页: Yohifo 🎉所属专栏: C修行之路 🎊每篇一句: 图片来源 The pessimist complains about the wind; the optimist expects it to change; the realist adjusts the sails. 悲观主义者抱怨风;乐观主义者期望它…...

微搭中如何实现弹性布局
我们在实际开发中经常可能会有一些社交的场景,比如开发一个类似朋友圈九宫格图片展示的功能。因为图片的数量不确定,所以需要实现图片的从左到右顺序排列。 在微搭中可以以可视化的方式设置样式。但是对于我们这类特殊需求,只用可视化设置显…...

九龙证券|外资强势出手!这只科创板百元股,被疯狂加仓
本周,北上资金净买入29.32亿元,连续第13周加仓A股。分商场看,北上资金加仓重点倾向于沪市的白马蓝筹股,沪股通取得50.34亿元,深股通则被净卖出21.02亿元。 食品饮料本周取得逾23亿元的增持,居职业首位&…...
51单片机最强模块化封装(4)
文章目录 前言一、创建key文件,添加key文件路径二、key文件编写三、模块化测试总结前言 本篇文章将为大家带来按键的模块化封装,这里使用到了三行按键使得我们的代码更加简便。 按键原理:独立按键 一、创建key文件,添加key文件路径 这里的操作就不过多解释了,大家自行看…...

五、Git本地仓库基本操作——分支管理
1. 什么是分支? master分支 我们在初始化git仓库的时候,会默认创建一个master分支,HEAD指针这时就会默认执行master分支。当我们在master分支提交(commit)了更新之后,master分支就会指向当前当前最新的co…...

vscode搭建python Django网站开发环境
这里使用pip安装的方式,打开命令行,输入执行: pip install django2.2这里选择安装2.2版本是因为是新的lts版本,长期支持稳定版。 接下来再安装pillow,Django底层一部分是基于pillow进行的。 pip install pillowpylint…...

【mybatis】实现分页查询
一 .使用原生分页器的实体类 1.1 java代码部分 方法多 不易书写 package cn.bdqn.entity;public class Page {private Integer pageIndex;//页码private Integer pageSize;//页大小 显示多少行数据private Integer totalCounts;//数据的总行数private Integer totalPages;//…...
CF1560D Make a Power of Two 题解
CF1560D Make a Power of Two 题解题目链接字面描述题面翻译题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路代码实现备注题目 链接 https://www.luogu.com.cn/problem/CF1560D 字面描述 题面翻译 给定一个整数 nnn。每次操作你可以做两件事情中的一件&am…...
C#开发的OpenRA的读取文件的函数
C#开发的OpenRA的读取文件的函数 在OpenRA游戏里,读取文件是必备的功能。 因为游戏大部分文件都是图片、动画、语音。 很久以前,我以为开发游戏的主要功能是在程序开发上, 其实游戏的大部分工作都不是在开发上,而是在美工方面。 因为游戏跟电影是一样,就是不断地展示场景,…...

SpringBoot结合XXL-JOB实现定时任务
Quartz的不足 Quartz 的不足:Quartz 作为开源任务调度中的佼佼者,是任务调度的首选。但是在集群环境中,Quartz采用API的方式对任务进行管理,这样存在以下问题: 通过调用API的方式操作任务,不人性化。需要…...

【Node.js】 创建web服务器
Node.js什么是客户端,什么是服务器服务器和普通电脑的区别什么是http模块导入http模块服务器相关概念创建web服务器的基本步骤req请求对象req响应对象解决中文乱码根据不同的url响应不同的html内容什么是客户端,什么是服务器 客户端在网络节点中&#x…...
基于go语言实现RestFul交互
一、RestFul 1.1 RestFul的介绍 RESTFUL(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP或HTTPS,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务接口的场景&…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...