77百科网
当前位置: 首页 生活百科

word转换pdf格式软件免费版(电脑pdf转word软件推荐)

时间:2023-05-30 作者: 小编 阅读量: 1 栏目名: 生活百科

企业Web网站很多直接对Internet提供服务,往往会被黑客作为恶意攻击的突破口,Web的安全和企业的信息安全高度相连。今天介绍如何利用GitHut上的SimpleAutoBurp项目,利用Python脚本实现网站的定时的自动扫描,这样能够在更短的时间发现Web系统的漏洞。GitHub上的脚本针对Linux平台,本文将脚本修改为在Windows平台上运行。

企业Web网站很多直接对Internet提供服务,往往会被黑客作为恶意攻击的突破口,Web的安全和企业的信息安全高度相连。

现实的管理中,在安全制度不完善的情况下,网站开发人员和维护人员经常因为业务紧急上线或者Bug修复,私自上线新的内容或变更,安全人员往往在出现问题后追查时才发现,之前的安全环境或者代码已经都变更了。

今天介绍如何利用GitHut上的SimpleAutoBurp项目,利用Python脚本实现网站的定时的自动扫描,这样能够在更短的时间发现Web系统的漏洞。GitHub上的脚本针对Linux平台,本文将脚本修改为在Windows平台上运行。

一、工作原理:

利用Crontab(linux平台)或任务计划程序(windows平台)定期执行SimpleAutoBurp.py,该脚本利用BurpsuitePro的RESTAPI和配置文件config.json对目标主机进行web扫描。

二、脚本文件 SimpleAutoBurp+Config.json

SimpleAutoBurp.py 是调用Burp suite API的脚本,config.json是其配置文件。

SimpleAutoBurp.py

from os import strerrorfrom subprocess import Popenimport requestsimport timeimport subprocessimport loggingimport osimport signalimport jsonimport sysfrom datetime import datetime#将configFile指向你的config.json文件configFile = r"F:/pythonCode/SimpleAutoBurp/SimpleAutoBurp-main/config.json"try:with open(configFile) as json_data:config=json.load(json_data)except:print("Missing config.json file. Make sure the configuration file is in the same folder")sys.exit()burpConfigs=config["burpConfigs"][0]siteConfigs=config["sites"]def set_logging():global rootLoggerlogFormatter = logging.Formatter("%(asctime)s [%(levelname)-5.5s]%(message)s")rootLogger = logging.getLogger()NumericLevel = getattr(logging, burpConfigs["loglevel"].upper(), 10)rootLogger.setLevel(NumericLevel)fileHandler = logging.FileHandler("{0}/{1}.log".format(burpConfigs["logPath"], burpConfigs["logfileName"]))fileHandler.setFormatter(logFormatter)rootLogger.addHandler(fileHandler)consoleHandler = logging.StreamHandler()consoleHandler.setFormatter(logFormatter)rootLogger.addHandler(consoleHandler)def execute_burp(site):cmd = burpConfigs["java"] + " -jar -Xmx" + burpConfigs["memory"] + " -Djava.awt.headless="+ str(burpConfigs["headless"]) + " " + burpConfigs["burpJar"] + " --project-file=" + site["project"] + " --unpause-spider-and-scanner"try:rootLogger.debug("Executing Burp: " + str(cmd))p = Popen(cmd, shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)return p.pidexcept:rootLogger.error("Burp Suite failed to execute.")exit()def check_burp(site):count = 0url = "http://127.0.0.1:1337/"+ site["apikey"] +"/v0.1/"time.sleep(10)while True:if count > burpConfigs["retry"]:rootLogger.error("Too many attempts to connect to Burp")exit()else:rootLogger.debug("Cheking API: " + str(url))init = requests.get(url)if init.status_code == 200:rootLogger.debug("API running, response code: " + str(init.status_code))# Let Brup time to load extensionstime.sleep(30)breakelse:rootLogger.debug("Burp is not ready yet, response code: " + str(init.status_code))time.sleep(10)def execute_scan(site):data = '{"urls":["'+ site["scanURL"] + '"]}'url="http://127.0.0.1:1337/" + site["apikey"] + "/v0.1/scan"rootLogger.info("Starting scan to: " + str(site["scanURL"]))scan = requests.post(url, data=data)rootLogger.debug("Task ID: " + scan.headers["Location"])while True:url="http://127.0.0.1:1337/" + site["apikey"] + "/v0.1/scan/" + scan.headers["Location"]scanresults = requests.get(url)data = scanresults.json()rootLogger.info("Current status: " + data["scan_status"])if data["scan_status"] == "failed":rootLogger.error("Scan failed")kill_burp()exit()elif data["scan_status"] == "succeeded":rootLogger.info("Scan competed")return dataelse:rootLogger.debug("Waiting 60 before cheking the status again")time.sleep(60)def kill_burp(child_pid):rootLogger.info("Killing Burp.")try:os.kill(child_pid, signal.SIGTERM)rootLogger.debug("Burp killed")except:rootLogger.error("Failed to stop Burp")def get_data(data, site):for issue in data["issue_events"]:rootLogger.info("Vulnerability - Name: " + issue["issue"]["name"] + " Path: " + issue["issue"]["path"] + " Severity: " + issue["issue"]["severity"])token=site["scanURL"].split('/')[2]top_level=token.split('.')[-2]+'.'+token.split('.')[-1]file = top_level + "-" + datetime.now().strftime("%Y_%m_%d-%I_%M_%S_%p") + ".txt"file = burpConfigs["ScanOutput"] + filerootLogger.info("Writing full results to: "+ file)with open(file, "w") as f:f.write(str(data["issue_events"]))def main():set_logging()for site in config["sites"]:# Execute BurpSuite Prochild_pid = execute_burp(site)# Check if API burp is upcheck_burp(site)# Execute Scandata = execute_scan(site)# Get Vulnerability dataget_data(data, site)# Stop BurprootLogger.info("Scan finished, killing Burp.")kill_burp(child_pid)if __name__ == '__main__':main() 

Config.json(这里面配置要扫描的站点, APIKEY在BurpSuite里面生成)

{"sites" : [{"scanURL" : "http://192.168.168.180/","project" : "d:/temp/Metasploitable2.burp","apikey" : "S44ZGKWIXsGa8eWiASfDz7u5d2CzsbHm"}],"burpConfigs" : [{"memory" : "2048m","headless" : "true","java" : "C:/Program Files/Java/jdk-11.0.11/bin/java.exe","burpJar" : "F:/Download/burpsuite_pro_v2021.6.1.jar","retry" : 5,"logPath" : "d:/temp/ScanOutput/","logfileName" : "SimpleAutoBurp","loglevel" : "debug","ScanOutput" : "d:/temp/ScanOutput/"}]}

三、Burp suite pro REST API服务开启方法

Burp Suite Pro 开启REST API 界面

四、使用任务计划程序(taskschd.msc)自动执行脚本,这里不再啰嗦如何利用Windows任务计划程序执行脚本,可以参考Windows相关帮助文件。

使用SimpleAutoBurp脚本来及时发现网站的安全漏洞是一种补救措施,我们更应该建立和遵循安全的软件发布流程,标准的软件发布流程我们可以参考ITIL中的发布,部署流程,也可以参考Microsoft的SDL流程。

    推荐阅读
  • 如何立足岗位发挥好示范引领作用(如何发挥好岗位的示范和引领作用)

    跟着小编一起来看一看吧!如何立足岗位发挥好示范引领作用首先要做实践的模范。要忠实履行政协会议的各种决议,自觉遵守各项工作制度,正确行使自己的民主权力。中共党员中的政协委员,不论是在政协组织的活动中,还是在日常工作生活中,都要积极地进行调查研究,了解最新动态,了解社会各方面的真实情况,了解群众的情绪、困难和诉求,充分反映他们的要求和呼声,使党委和政府能及时采纳他们对党和政府工作的意见建议。

  • 海底捞 摄像头(海底捞包间内安装摄像头遭质疑)

    对于安装摄像头是否会侵犯隐私,网友各执一词。安装了摄像头的门店也表示,安装主要是为了防止客人丢失东西,方便找回。不过,北青报记者进一步采访其安装摄像头的必要性时,截至发稿时,海底捞方面暂时没有回应。图像信息系统在营业期间应当正常运行,不得中断。在这一规定中,包间并未罗列其中。此前曾有调查称,在30家火锅店中,有19家在包间装有摄像头;在14家非火锅店中,也有2家的包间装有摄像头。

  • 讯飞智能语音服务(IQEQ齐上阵讯鸟软件打造更有)

    讯飞智能语音服务埃森哲调研显示:多达75%的高管表示,自己的组织将在未来三年积极部署某种人工智能技术,AI将作为一名同事、合作者和值得信赖的顾问,在企业中与人类并肩协作。智能客服语音机器人能够支持语音情感三分类、四分类和六分类,在各类应用场景下识别率均超过85%,在成熟的业务场景下识别准确率可高达95%。

  • 提高fps的方法csgo(FPS游戏CSGO之身位控制)

    FPS游戏CSGO之身位控制​高手与菜鸟最大的差距也许还不是枪法,而是存活率同样的一个点位,菜鸟去看点,永远是拉一个大身位,同时暴露在复数架枪点的准星内,所以死亡率奇高无比高手的身法多变,身位控制良好,知道适当切换行进节奏与路线。

  • 怎么用微信支付(用微信支付的方法介绍)

    怎么用微信支付?最简单的,看到各个超市或者别的地方的收银台都会贴有一张二维码图片,上面写着微信支付,就可以使用手机微信来支付了,打开手机微信,右上角有一个的标志,点击它,下面我们就来聊聊关于怎么用微信支付?接下来我们就一起去了解一下吧!这是把商家的二维码放到相机前,就可以自动扫描了,扫描出来后,可以看到要付款的别人的微信名称,可以核对一下,没问题就输入金额,完成付款。

  • 白萝卜多久能煮熟(白萝卜怎么煮)

    下面更多详细答案一起来看看吧!白萝卜多久能煮熟通常情况下,白萝卜水只要煮十五到二十分钟就差不多了。白萝卜煮水的做法非常简单,我们平时如果想要喝白萝卜水的话都可以自己在家里制作。制作它首先要把准备好的白萝卜清洗干净并切成片状或是块状,注意这里是不需要给萝卜去皮的。在白萝卜处理好之后,我们就可以准备一口锅并往里面倒入适量的清水加热。

  • 键盘和电脑怎么清洁(干货清洁电脑屏幕)

    键盘和电脑怎么清洁DTECH帝特,传递精彩画面,分享快乐时光!这种情况,我们可以购买专用液晶屏幕清洁剂进行清洁,价格大概在20~50元之间,通常专用清洁剂都有详细的使用说明。以上几个清洁方法都需要有规则地轻轻擦拭屏幕,不可以用力按着擦,否则容易给屏幕造成坏点。

  • 茉莉飘雪茶的功效与作用(关于茉莉飘雪茶的功效与作用)

    茉莉飘雪茶的功效与作用茉莉花茶是花茶中的典型,茉莉飘雪花茶能够帮助人体降血脂,有利于人体内脂肪的分解,还有一定的清除氧自由基作用,所以能够起到抗氧化、防衰老的功效。茉莉飘雪花茶能够起到保肝护肝、美容养颜的作用,同时还有一定杀菌、抗菌、增强机体免疫力的作用,可以预防感染性疾病,因为茉莉花茶中含有的营养物质比较丰富,能够提高机体的免疫力,也能够对抗疾病的发生。

  • 堕仙是指什么意思(堕仙出现在哪位人物身上呢)

    堕仙是指什么意思是指堕落的仙人,也指走火入魔,因为面对让自己万分痛苦的事而无法承受,后变为魔的紫薰上仙。紫薰上仙堕仙成魔是因一直守护她的檀凡上仙为救她而死,紫薰上仙觉得对不起檀凡上仙,又很愤怒于白子画的漠不关心,所以成为堕仙。求而不得,一念成魔。本是仙界的紫薰仙子,五上仙之一,擅长制香,因痴恋白子画而成为堕仙,坠入魔道。后被花千骨感动,放下执念,将所有功力传给白子画,成全白子画与花千骨。

  • 想让学习强国由青铜变成骨灰吗(想让学习强国由青铜变成骨灰吗)

    A、正确B、错误正确答案:A135、我国鼓励各类市场主体在有效保护旅游资源的前提下,依法合理利用旅游资源。A、正确B、错误正确答案:A137、2021年1月22日,我国首部战疫纪录电影上映,影片以平实的语言讲述了武汉人与来自全国各地医疗系统及其他行业的一线人员,一起打响武汉抗击新冠肺炎疫情阻击战。A、50%B、60%C、70%D、80%正确答案: