{"id":24342251,"url":"https://github.com/ExpLangcn/HwToolslibrary","last_synced_at":"2025-09-28T03:31:38.285Z","repository":{"id":196200301,"uuid":"695008635","full_name":"ExpLangcn/HwToolslibrary","owner":"ExpLangcn","description":"HwToolsPro 工具编写POC 插件所需库","archived":false,"fork":false,"pushed_at":"2023-10-09T08:18:39.000Z","size":23,"stargazers_count":34,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-06T17:24:16.339Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ExpLangcn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-09-22T06:50:13.000Z","updated_at":"2024-11-25T10:07:44.000Z","dependencies_parsed_at":"2023-09-23T03:39:55.561Z","dependency_job_id":null,"html_url":"https://github.com/ExpLangcn/HwToolslibrary","commit_stats":null,"previous_names":["explangcn/hwtoolslibrary"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpLangcn%2FHwToolslibrary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpLangcn%2FHwToolslibrary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpLangcn%2FHwToolslibrary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpLangcn%2FHwToolslibrary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ExpLangcn","download_url":"https://codeload.github.com/ExpLangcn/HwToolslibrary/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234480878,"owners_count":18840195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-18T08:01:31.582Z","updated_at":"2025-09-28T03:31:28.272Z","avatar_url":"https://github.com/ExpLangcn.png","language":"Go","funding_links":[],"categories":["LLM分析过程"],"sub_categories":[],"readme":"# HwToolslibrary\n## 示例\n```Golang\n\npackage main\n\nimport(\n\t\"github.com/ExpLangcn/HwToolslibrary/library/httpclient\"\n\t\"github.com/ExpLangcn/HwToolslibrary/library/info\"\n\t\"github.com/ExpLangcn/HwToolslibrary/library/utils\"\t\n)\n\nvar POC info.POC\n\nfunc init() {\n    POC = info.POC{ // 初始化POC信息\n    Info: info.POCInfo{ // 定义POC 漏洞信息\n        Name:     \"POC 名称\",\n        Author:   \"POC 作者\",\n        Describe: \"POC 漏洞介绍\",\n        Date:     \"POC 发布时间\",\n        Tags:     []string{\"标签1\", \"标签2\", \"...\"}, // POC 标签\n        Level:    \"风险等级\", // Low, medium, high\n        Link:     []string{\"http://xxx.com\", \"https://www.xxx.com\"}, // POC 漏洞参考链接\n    },\n    Other: info.OtherInfo{\n        FOFAGrammar:  \"body=\\\"HwToolsPro test\\\"\", // POC 漏洞 FOFA 搜索语法\n        QuakeGrammar: \"body: \\\"HwToolsPro test\\\"\", // POC 漏洞 Quake 搜索语法\n        }, \n    }\n}\n\nfunc Start(Target string, ProxyURL string) (bool, error) { // 调用试例 必须带有\"Target string, ProxyURL string\" 参数，且类型一致，返回类型必须为bool, error\n    Httprecord := make(map[*httpclient.RequestOptions]*httpclient.Response) // 生成存储请求信息的map\n\t\n\trequestOption := \u0026httpclient.RequestOptions{ // 配置请求信息\n\t\tMethod:      http.MethodGet, \n\t\tURL:         Target,\n\t\tPath:        filebody, \n\t\tHeaders:     map[string]string{\"User-Agent\": httpclient.RandomUserAgent()}, // 使用库中的httpclient.RandomUserAgent()函数生成随机UserAgent \n\t\tCookies:     []*http.Cookie{{Name: \"session\", Value: \"abc123\"}}, \n\t\tProxyURL:    ProxyURL, \n\t\tRequestBody: []byte(\"\"), // 因为是 Get 方式，所以为空\n    }\n\n    responseOption, success := httpclient.SendRequest(*requestOption) // 发送请求\n    Httprecord[requestOption] = responseOption // 将请求信息存入map\n\n    if responseOption.Err != nil {\n\t\treturn false, responseOption.Err\n\t} else {\n\t\tif !success {\n            // 发送请求失败\n            return false, errors.New(\"请求失败\")\n        } else if responseOption.StatusCode == 200 { // 判断状态码\n            return true, nil // 返回漏洞存在的结果\n        }\n    }\n\n    POC.Info.HttpInfo = Httprecord // 将请求信息存入POC结构体中 \n\treturn false, errors.New(\"漏洞不存在\")\n}\n```\n\n## 使用 AI 自动生成POC 插件\n* 打开类似于 ChatGPT 的对话框，将库内的部分插件逐个发给 GPT，以及library/info/info.go中的内容发送给GPT。\n* 当全部发送后将你需要生成的 POC 漏洞信息发送给 GPT 并在结尾说明判断漏洞存在的逻辑即可。\n\n**注意：建议参考网络上大部分漏洞文库的格式来生成 POC，也可直接发送请求包并告知如何判断漏洞存在即可。**\n\n## 联系\n\n* 博客站点：[阿浪的小破站](https://www.yunjianxx.com/)\n* Bilibili：[不懂安全的阿浪](https://space.bilibili.com/3546377619508015)\n* Twitter：[@ExpLang_Cn](https://twitter.com/ExpLang_Cn)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FExpLangcn%2FHwToolslibrary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FExpLangcn%2FHwToolslibrary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FExpLangcn%2FHwToolslibrary/lists"}