日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

html排序按钮_插件分享 | 可进行排序扫描任务的Task Queue

發(fā)布時間:2023/12/2 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html排序按钮_插件分享 | 可进行排序扫描任务的Task Queue 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言:在以往hvv場景中使用Goby的過程總是存在一個痛點:時間短,目標多,只能盯著掃描進度結(jié)束后才能手動返回到初始界面開啟下一個掃描任務(wù)(內(nèi)心極度狂躁)。本次Goby更新后又開放了新的插件入口點以及API,使添加掃描任務(wù)步驟簡潔化,隨時可以將收集到的信息添加多個任務(wù)進行排序掃描,實現(xiàn)一種動態(tài)持續(xù)的隊列效果。

?01

?插件效果1.1 插件使用

1.2 插件入口

Goby內(nèi)測版1.8.230更新后,產(chǎn)品界面有了新變化,在產(chǎn)品右側(cè)開放了新的插件入口點:工具欄。安裝完Task Queue插件之后,可以在工具欄看到插件的按鈕。

1.3 操作隊列

點擊按鈕后會打開我們的自定義彈窗,分為兩個頁面:一個是添加掃描任務(wù)隊列的頁面;一個是查看隊列的頁面。

Task可以查看隊列中的任務(wù)詳情,還可以對隊列中的任務(wù)進行修改刪除操作。

?02

?插件開發(fā)2.1 確定功能的入口點

入口點選擇在新開放的工具欄

"contributes":?{????????"views":?{????????????????"toolbar":[????????????????????{????????????????????????"command":?"addTask",????????????????????????"title":?"Task?Queue?",????????????????????????"icon":?"src/assets/img/logo2.png",????????????????????????"tips":"Task?Queue"????????????????????}????????????????]????????}}

2.2?任務(wù)隊列數(shù)據(jù)的存儲

為了避免Goby重新加載插件而導致插件數(shù)據(jù)丟失,所以會在當前插件目錄下創(chuàng)建一個data.json的文件來保存數(shù)據(jù)

fs.writeFile(this.filePath,JSON.stringify({"data":[]},?null,?6),(err)=>{}

2.3 確定實現(xiàn)功能需要用到的API

2.3.1 獲取掃描數(shù)據(jù)

添加隊列需要用戶自定義掃描信息,因此需要獲取Goby內(nèi)置的端口信息、POC信息以及掃描序列信息,要用到getPortList,getVulnerabilityList,getOrderList

goby.getPortList().then((res)=>{ config.port = res.data; let con = ``; for(let i in res.data){ con += ` ${res.data[i].type} `; } $('.port').html(con); form.render('select'); $('.portcontent').val(res.data[0].value);})goby.getVulnerabilityList().then((res)=>{ let con = ``; for(let i in res.data){ con += ` ${res.data[i]} `; } $('.vulnerability').html(con); form.render('select');})goby.getOrderList().then((res)=>{ let con = ``; for(let i in res.data){ con += ` ${res.data[i]} `; } $('.order').html(con); form.render('select');})

2.3.2?綁定事件通知bindEvent

在掃描結(jié)束后需要開啟隊列中下一個任務(wù)、掃描開始/暫停以及結(jié)束后刷新頁面隊列數(shù)據(jù)。

這里展示暫停后刷新頁面。

//因為暫停后會涉及到操作隊列文件,所以延遲1秒刷新頁面goby.bindEvent('onPauseScan',(res)=>{ setTimeout(()=>{ init(); },1000) })

2.3.3?開始掃描startScan

goby.startScan(queue.data[index]).then((res)=>{ queue.data[index].taskId = res.data.taskId; queue.data[index].state = 1; fs.writeFile(this.filePath,JSON.stringify(queue, null, 6),(err)=>{ if(err){ reject(err); }else{ resolve(res); } })});

2.4??業(yè)務(wù)開發(fā)

因為要在自定義彈窗頁面中操作隊列,所以在extension.js中聲明了全局隊列對象實例

window.taskQueue = new taskQueue();

taskQueue?對象上存在添加隊列,刪除隊列,開始掃描等方法,自定義彈窗中可以通過parent.taskQueue?來獲取此實例,通過?parent.goby?獲取Goby對象

let goby = parent.goby;let taskQueue = parent.taskQueue;

通過taskQueue實例來操作隊列

例如:刪除某個任務(wù)

$('.con').delegate('.delete','click',function(){ taskQueue.delete([$(this).parent().attr('queueId')]).then(()=>{ init(); }); })

?03

?小結(jié)這次寫這個任務(wù)隊列插件一路坎坷,首先就是隊列任務(wù)數(shù)據(jù)的保存,本來準備保存在全局變量中,可是Goby重新加載插件時數(shù)據(jù)會丟失,所以將數(shù)據(jù)保存在了本地文件中。然后就是在自定義彈窗中操作隊列文件,所以全局聲明了一個新的taskQueue的實例,這樣在自定義彈窗頁面中就可以通過parent.taskQueue對象來操作隊列文件。

最后我們還計劃在本插件上線二期任務(wù)——定時掃描及拖拽排序,夜深人靜的時候,你只管休息,Goby就替你工作啦~ 表哥們盡情期待~

插件開發(fā)文檔及Goby開發(fā)版下載:

https://gobies.org/docs.html

本次插件案例解析及用到的API在B站都有詳細的教學,歡迎大家到彈幕區(qū)合影~

  • https://www.bilibili.com/video/BV1ki4y1c7hm/

更多插件分享

? Faz | 如何半天玩轉(zhuǎn)一個“ES未授權(quán)利用”

??Vanilla | 可以查看攝像頭快照的“Hikvision”

? 李大壯 | 可以上傳json文件的“Shodan”

? go0p | 可以進行web爬蟲的Xray插件

??c1o2a3 |?可以變身的超級賽亞人主題

? Bacde |?可以查詢子域名及同IP域名的RapidDNS

??Poc Sir |?可對網(wǎng)站進行一鍵掃描的Packer Fuzzer

如果表哥/表姐也想把自己上交給社區(qū),戳這里領(lǐng)取一份插件任務(wù)?

https://github.com/gobysec/GobyExtension/projects

總結(jié)

以上是生活随笔為你收集整理的html排序按钮_插件分享 | 可进行排序扫描任务的Task Queue的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。