Pythonの倫理的ハッキング - 脆弱性スキャナ(1)

HTTPリクエスト

BASIC情報の流れ

  • ユーザーがリンクをクリックします。
  • HTMLのウェブサイトは、要求(クライアント側)を生成
  • 要求がサーバーに送信されます。
  • サーバは、要求(サーバ側)を行います
  • バック応答を送信します。

POST対GET

Webアプリケーションにデータを送信するために使用される2つの主な方法:

URLを通じて1(通常はGETを使用)。

    A。http://webisite.com/news.php?id=1

    B。http://website.com/?id=1

入力要素(通常はPOSTを使用して)を介して2。

    A。検索ボックス。

    B。ログインボックス。

    C。..etc。

 

ターゲットウェブサイト:HTTP:?//10.0.0.45/mutillidae/index.phpページ= DNS-lookup.php

 

 

!は/ usr / binに/ envをPythonの

インポート要求
 から BS4の輸入BeautifulSoup
 から urllib.parse 輸入urljoinの


デフ要求(URL)は:
     試すリターンrequests.get(URL)を
     除いrequests.exceptions.ConnectionError:
         合格


target_url = " のhttp:/ /10.0.0.45/mutillidae/index.php?page=dns-lookup.php 
応答 = リクエスト(target_url)

parsed_html = BeautifulSoup(response.content.decode())
forms_list = parsed_html.findAll(" フォーム" 

のための形態forms_list:
    アクション = form.get(" アクション" 
    POST_URL = urljoin(target_url、アクション)
    メソッド = form.get(" メソッド" 

    inputs_list = form.findAll(" 入力" 
    post_data = { }
     のための入力inputs_list:
        input_name = input.get(" 名前" 
        INPUT_TYPE= input.get(" タイプ" 
        input_value = input.get(" " であれば INPUT_TYPE == " テキスト" 
            input_value = " テスト" 

        post_data [input_name] = input_value 
    結果 = requests.post(POST_URL、データ= post_data)
     印刷(result.content.decode())

成功したPythonのコードを実行します。

 

おすすめ

転載: www.cnblogs.com/keepmoving1113/p/11707233.html