dt_automate/method/hw_fw1.go
2025-02-27 14:27:45 +08:00

124 lines
3.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package method
import (
attackevent "dt_automate/attack_event"
"dt_automate/conf"
"dt_automate/tool"
"fmt"
"log"
"github.com/playwright-community/playwright-go"
)
func HW_FW1() {
// 启动 Playwright
pw, err := playwright.Run()
if err != nil {
log.Fatalf("could not start Playwright: %v", err)
}
defer pw.Stop()
// 启动浏览器Chromium
browser, err := pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{
Headless: playwright.Bool(false), // 设置为 false 以显示浏览器界面
Args: []string{
"--ignore-certificate-errors", // 忽略证书错误[^28^][^29^]
},
})
if err != nil {
log.Fatalf("could not launch browser: %v", err)
}
defer browser.Close()
// 创建一个新页面
page, err := browser.NewPage()
if err != nil {
log.Fatalf("could not create page: %v", err)
}
// 设置浏览器窗口大小
err = page.SetViewportSize(1920, 1080) // 宽度为 1200px高度为 800px
if err != nil {
log.Fatalf("无法设置浏览器窗口大小: %v", err)
}
// 导航到指定网址
_, err = page.Goto("https://11.2.68.146/")
if err != nil {
log.Fatalf("could not go to the page: %v", err)
}
page.WaitForTimeout(3000)
//输入
if err := page.Locator(`#user_name`).Fill("xcy_user"); err != nil {
log.Fatalf("could not fill input: %v", err)
}
if err := page.Locator(`#password`).Fill("Cecloud@2023"); err != nil {
log.Fatalf("could not fill input: %v", err)
}
//登录
if err := page.Locator("#login_button").Click(); err != nil {
log.Fatalf("could not click button: %v", err)
}
page.WaitForTimeout(1000)
page.Evaluate(`
const now = new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, '0');
const day = now.getDate().toString().padStart(2, '0');
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
const seconds = now.getSeconds().toString().padStart(2, '0');
const timestamp = year+"-"+month+"-"+day +" "+ hours+":"+minutes+":"+seconds;
const div = document.createElement('div');
div.style.position = 'fixed';
div.style.bottom = '10px';
div.style.right = '10px';
div.style.color = 'white';
div.style.backgroundColor = 'black';
div.style.padding = '5px';
div.style.borderRadius = '5px';
div.textContent = timestamp;
document.body.appendChild(div);
`, nil)
page.Locator(`#leftmenu-body tr[data-recordid="M_ThreatLog"] div.x-grid-cell-inner.x-grid-cell-inner-treecolumn a.x-tree-node-text`).Click()
page.WaitForTimeout(2000)
page.Locator(`#button-1174-btnEl`).Click()
page.WaitForTimeout(1000)
page.Locator(`#combobox-1302-bodyEl #combobox-1302-inputEl`).Click()
page.WaitForTimeout(1000)
page.Locator(`#boundlist-1330-listEl li[title="Untrust"]`).Click()
page.WaitForTimeout(500)
page.Locator(`#combobox-1303-bodyEl #combobox-1303-inputEl`).Click()
page.WaitForTimeout(500)
page.Locator(`#boundlist-1335-listEl li[title="Trust"]`).Click()
page.WaitForTimeout(500)
page.Locator(`#button-1322-btnIconEl`).Click()
page.WaitForTimeout(1000)
// page.Screenshot(playwright.PageScreenshotOptions{
// Path: playwright.String("img/hw_fw1.png"),
// FullPage: playwright.Bool(true),
// })
tool.Jietu("img/hw_fw1.png")
page.WaitForTimeout(2000)
// 获取页面标题
title, err := page.Title()
if err != nil {
log.Fatalf("could not get title: %v", err)
}
log.Printf("Page title is: %s\n", title)
cookies, err := page.Context().Cookies("https://11.2.68.146/wnm/get.j")
if err != nil {
log.Println(err)
}
var cookieStr string
for i, cookie := range cookies {
cookieStr += fmt.Sprintf("%s=%s;", cookie.Name, cookie.Value)
log.Printf("Cookie %d: %+v", i, cookie)
}
log.Println(cookieStr)
attackevent.Fw_event(cookieStr)
conf.SET_Config_yaml("cookie", cookieStr) //临时存放数据
// StartBlocker()
page.WaitForTimeout(5000)
}