freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

网络安全实验室6——解密关
儒道易行 2023-02-11 16:49:01 146094
所属地 河北省

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

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

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

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

# 渗透测试 # web安全 # 漏洞分析 # 代码审计 # 红队攻防
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 儒道易行 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
儒道易行 LV.7
谢天谢地、不忘祖先、敬偎圣贤
  • 77 文章数
  • 80 关注者
红队攻防文库文章集锦
2023-11-27
红队攻防文库文章集锦
2023-11-27
CTFer成长之路之逻辑漏洞
2023-02-27
文章目录