Xray社區版和專業版漏洞導出結構區別分析


前言

水文

不管是使用--html-output參數還是--json-output參數,其核心都是json形式傳遞的漏洞詳情,html格式只是更方便我們看而已,所以這里對json格式的數據進行分析

目的

方便想要在掃描器中合並xray的朋友整合漏洞報告

掃描目標

testphp.vulnweb.com

專業版版本 1.3.3

社區版版本 1.7

社區版

掃描之后導出為json的結果

可以看到是使用list+dict的格式,因為每條都比較長,選取其中一條,並且把長的快照部分省略掉了

{
	"create_time":1615809845916,
	"detail":{
		"addr":"http://testphp.vulnweb.com/index.zip",
		"payload":"/index.zip",
		"snapshot":[
			[
				"GET /index.zip 省略請求頭",
				"HTTP/1.1 206 Partial Content\r\n省略響應頭"
			]
		],
		"extra":{
			"param":{}
		}
	},
	"plugin":"dirscan/backup/default",
	"target":{
		"url":"http://testphp.vulnweb.com/index.zip"
	}
}

整理后其結構為:

其實整理后的結構我們已經很明顯可以看出是怎么保存漏洞信息的了,但這里還是簡單講解一下

create_time:掃描開始的時間

detail:漏洞詳情,這肯定是需要的

addr:最開始的掃描地址

payload:這個不解釋

snapshot:快照,一方面保存我們打過去的請求頭,一方面保存響應頭和響應體,方便我們漏洞復現

extra:這個里面的參數是param,即參數,因為這里的漏洞是敏感文件中的備份文件,不存在extra,我們參考另外一個社區版掃描出來的xss漏洞

"extra":{
    "param":{
        "key":"cat",
        "position":"query",
        "value":"extractvalue(1,concat(char(126),md5(1577916059)))"
    }
}

可以看出來這里的param更多的是存儲一些特殊的payload,漏洞參數以及說明

plugin:掃描所使用到的插件,可以使用--plugin進行指定

target:也是目標,不過這里應該指的是存在漏洞的URL

專業版

接着使用專業版進行掃描,依舊是list+dict

很明顯漏洞報告內容豐富多了,而且專業版的掃描插件更多,所以爆漏洞的可能性更大

簡單取一個分析

取一個比較有代表性的

{
    "create_time": 1615814211000,
    "detail": {
        "filename": "/index.zip",
        "host": "testphp.vulnweb.com",
        "param": {},
        "payload": "",
        "port": 80,
        "request": "GET /index.zip HTTP/1.1\r\n請求頭省略",
		"response": "HTTP/1.1 206 響應包省略",
        "url": "http://testphp.vulnweb.com/index.zip"
    },
    "identifier": "/index.zip",
    "plugin": "dirscan",
    "target": {
        "url": "http://testphp.vulnweb.com/listproducts.php"
    },
    "vuln_class": "backup"
}

和社區版結構略有不同,並且存在port參數,不再做過多解釋

合並整理

可以將目標動態爬取后的URL列表依次使用xray掃描,將結果保存在內存或數據庫中,和自己編寫的漏洞掃描產出的報告進行合並

至於報告文件夾清理,可以使用:

import shutil
def cleanTempXrayReport():
    shutil.rmtree("{}".format(config.Xray_temp_report_path))
    os.mkdir("{}".format(config.Xray_temp_report_path))
    return

最后對於每一個url都能實現最大化的覆蓋掃描


免責聲明!

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



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