1. 程式人生 > 其它 >使用C#winform編寫滲透測試工具--旁站查詢

使用C#winform編寫滲透測試工具--旁站查詢

本篇文章主要介紹使用C#winform編寫滲透測試工具--旁站查詢。旁站是指和目標站在同一伺服器的其他網站,換句話說,旁站的ip是相同的,當目標站無法滲透時,可以考慮從旁站滲透,增大滲透的可能性。通過python編寫指令碼,再使用C#winform編寫客戶端程式呼叫.py指令碼實現行旁站查詢。

使用C#winform編寫滲透測試工具--旁站查詢

本篇文章主要介紹使用C#winform編寫滲透測試工具--旁站查詢。旁站是指和目標站在同一伺服器的其他網站,換句話說,旁站的ip是相同的,當目標站無法滲透時,可以考慮從旁站滲透,增大滲透的可能性。通過python編寫指令碼,再使用C#winform編寫客戶端程式呼叫.py指令碼實現行旁站查詢。

目錄

  1. 實現方法

  2. 程式碼實現

  3. 軟體使用步驟

一、實現方法

如今通常使用線上工具如The Web of WebScan站長工具旁站網等進行查詢,這裡使用python編寫指令碼呼叫api進行查詢,網上大多數使用bing,但現在需要申請key,這裡呼叫

愛站網的api。

二、程式碼實現

使用python編寫指令碼呼叫Api

指令碼程式碼參考https://github.com/Macr0phag3/ReIPDog專案,可以自己新增額外的api。

C#呼叫指令碼

對於python指令碼中包含第三方模組的情況,同樣,通過直接建立Process程序,呼叫python指令碼,返回掃描結果。

  • 建立按鈕按下事件button1_Click,執行“呼叫python指令碼”函式runPythonsidestation()
private void button8_Click(object sender, EventArgs e)
        {
            richTextBox6.Clear();
            runPythonsidestation();//執行python函式
            label29.Text = "開始掃描...";
        }
  • 例項化一個python程序 呼叫.py 指令碼
void runPythonsidestation()
        {
            string url = textBox6.Text;
            p = new Process();
            string path = "ReIPDog-master/ReIPDog.py";//待處理python檔案的路徑,本例中放在debug資料夾下
            string sArguments = path;
            ArrayList arrayList = new ArrayList();
            arrayList.Add("-host");
            arrayList.Add(url);//需要挖掘的域名
            foreach (var param in arrayList)//拼接引數
            {
                sArguments += " " + param;
            }
            p.StartInfo.FileName = @"D:\Anaconda\python.exe"; //沒有配環境變數的話,可以寫"xx\xx\python.exe"的絕對路徑。如果配了,直接寫"python"即可
            p.StartInfo.Arguments = sArguments;//python命令的引數
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            p.Start();//啟動程序
            //MessageBox.Show("啟動成功");
            p.BeginOutputReadLine();
            p.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived_sidestation);
            Console.ReadLine();
            //p.WaitForExit();
        }
  • 輸出接收事件函式
void p_OutputDataReceived_sidestation(object sender, DataReceivedEventArgs e)
        {
            var printedStr = e.Data;
            Action at = new Action(delegate ()
            {
                //接受.py程序列印的字元資訊到文字顯示框
                richTextBox6.AppendText(printedStr + "\n");
                label29.Text = "掃描結束";
            });
            Invoke(at);
        }

三、軟體使用步驟

*首先在url欄中輸入地址,點選開始查詢,最後得到旁站資訊。

github地址:https://github.com/Chenmengx/Penetration-testing-tool