-
+
Copy
diff --git a/frontend/src/views/Tools/ExtractDbInfo.vue b/frontend/src/views/Tools/ExtractDbInfo.vue
index e748bfb1..4ff948e3 100644
--- a/frontend/src/views/Tools/ExtractDbInfo.vue
+++ b/frontend/src/views/Tools/ExtractDbInfo.vue
@@ -192,7 +192,7 @@ import disconnectedIcon from '@/assets/icon/disconnect.svg'
import CustomTabs from '@/components/CustomTabs.vue'
import { nanoid as nano } from 'nanoid'
import { regexpAKSK, regexpIdCard, regexpPhone } from '@/stores/validate'
-import global from '@/global'
+import global from '@/stores'
import { SaveConfig } from '@/config'
import { databaseOptions } from '@/stores/options'
import { DatabaseConnection } from '@/stores/interface'
diff --git a/frontend/src/views/Tools/Memo.vue b/frontend/src/views/Tools/Memo.vue
index 3cce6f36..ed91adcf 100644
--- a/frontend/src/views/Tools/Memo.vue
+++ b/frontend/src/views/Tools/Memo.vue
@@ -54,7 +54,7 @@ import { CheckFileStat, InitMemo, ReadMemo } from 'wailsjs/go/services/File';
import { DocumentCopy, Plus } from '@element-plus/icons-vue';
import saveIcon from '@/assets/icon/save.svg'
import { Copy } from '@/util';
-import global from '@/global';
+import global from '@/stores';
onMounted(async () => {
handleChange(data.memo[0])
let fp = global.PATH.homedir + "/slack/memo.txt"
diff --git a/frontend/wailsjs/go/services/Database.d.ts b/frontend/wailsjs/go/services/Database.d.ts
index d65f1499..13da263f 100755
--- a/frontend/wailsjs/go/services/Database.d.ts
+++ b/frontend/wailsjs/go/services/Database.d.ts
@@ -56,6 +56,8 @@ export function RemoveConnection(arg1:string):Promise
;
export function RemoveFavGrammarFiled(arg1:string,arg2:string,arg3:string):Promise;
+export function RemoveFingerprintResult(arg1:string,arg2:Array):Promise;
+
export function RemovePocscanResult(arg1:string,arg2:string,arg3:string):Promise;
export function RemoveScanTask(arg1:string):Promise;
diff --git a/frontend/wailsjs/go/services/Database.js b/frontend/wailsjs/go/services/Database.js
index fa284255..aa2ca926 100755
--- a/frontend/wailsjs/go/services/Database.js
+++ b/frontend/wailsjs/go/services/Database.js
@@ -106,6 +106,10 @@ export function RemoveFavGrammarFiled(arg1, arg2, arg3) {
return window['go']['services']['Database']['RemoveFavGrammarFiled'](arg1, arg2, arg3);
}
+export function RemoveFingerprintResult(arg1, arg2) {
+ return window['go']['services']['Database']['RemoveFingerprintResult'](arg1, arg2);
+}
+
export function RemovePocscanResult(arg1, arg2, arg3) {
return window['go']['services']['Database']['RemovePocscanResult'](arg1, arg2, arg3);
}
diff --git a/services/database.go b/services/database.go
index 1f3883c2..6f27a63e 100644
--- a/services/database.go
+++ b/services/database.go
@@ -959,6 +959,15 @@ func (d *Database) RetrieveFingerscanResults(taskid string) []structs.InfoResult
} else {
result.Fingerprints = []string{}
}
+ if port != nil {
+ result.Port = *port
+ }
+ if host != nil {
+ result.Host = *host
+ }
+ if scheme != nil {
+ result.Scheme = *scheme
+ }
results = append(results, result)
}
return results
@@ -1007,6 +1016,33 @@ func (d *Database) RemovePocscanResult(taskid, template_id, vuln_url string) boo
return d.ExecSqlStatement(deleteStmt, taskid, template_id, vuln_url)
}
+// 移除某组指纹信息,用于删除探测http的基本状态,后续会由指纹探测重新写入
+func (d *Database) RemoveFingerprintResult(taskid string, link []string) bool {
+ // 如果链接列表为空,直接返回 false 表示操作未执行
+ if len(link) == 0 {
+ gologger.Info(d.ctx, "No link provided to remove fingerprint result")
+ return true
+ }
+
+ // 构造占位符和参数列表
+ placeholders := make([]string, len(link))
+ params := make([]interface{}, len(link)+1)
+ params[0] = taskid
+ for i, l := range link {
+ placeholders[i] = "?"
+ params[i+1] = l
+ }
+
+ // 构造 SQL 语句
+ deleteStmt := fmt.Sprintf(
+ "DELETE FROM FingerprintInfo WHERE task_id = ? AND url IN (%s)",
+ strings.Join(placeholders, ","),
+ )
+
+ // 执行 SQL 语句
+ return d.ExecSqlStatement(deleteStmt, params...)
+}
+
// 导出JSON报告
func (d *Database) ExportWebReportWithJson(reportpath string, tasks []structs.TaskResult) bool {
var fingerprintsResults []structs.InfoResult