网络安全实验室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适用于移动互联网厂商作为业务接口的场景&…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
