ホームページ バックエンド開発 PHPチュートリアル PHPサイトを攻撃する手口について教えてください

PHPサイトを攻撃する手口について教えてください

Jun 13, 2016 pm 01:52 PM
and id nbsp php select

PHP Web サイトを攻撃するテクニックについて教えてください
皆さん、こんにちは。最近、変態教師に変態的なトピックを提供してもらいました。いくつか提案をいただければ幸いです:
彼は学校で Linux + Apache + PHP を作成しました。 LAN + PostgreSQL で構築された個人サイト、そして私たちの仕事はサイト内のバグを見つけるか、サイトを直接攻撃することです (サーバーを乗っ取ってブラックスクリーンにしたい!)。バグを見つけると追加ポイントが...
思い浮かぶ 2 つの方法は次のとおりです:
1. シェルを作成し、Web サイトの正当なアカウントが見つかるまで延々とテストします。 (何人かの生徒がすでにこれを実行し、5 分間でログイン要求パケットが 10,000 に達しましたが、失敗しました。その理由は、教師が狡猾で、ID が一般ユーザーや webadmin などではないため、この方法が困難であるためです)
2. セッションを使用して記事を書く (ネットで見たのですが、操作方法がわかりません)

この分野での経験がなく、良いアイデアもありません。そこで、ここで専門家をお招きします。もし何かアドバイスがあれば、もう少し詳しく教えていただければ幸いです。

よろしくお願いします。回答に満足したらポイントを追加してください



-----解決策-------- ---- --------
SQL インジェクト / XSS / CC....
------解決策---------
素晴らしい。 。 。
------解決策---------
SQL インジェクト / XSS
これら 2 つ 比較的信頼できる
------解決策------------------
参考のみ:


PHP Web サイトに侵入する方法

講義 1: インジェクション ポイントがあるかどうかを判断する
これは非常に簡単です。ページの形式は :index.php?id=2 であることを確認してください。このアドレスを送信すると、PHP は MYSQL データベースと併用されることがよくあります。プログラムは通常、次のように処理します。
1. GET または POST を使用して、送信した id=1 を取得し、この値を変数 id に渡します。
2. select * from settings_table where id =$id.
上記のステートメントはクエリステートメントで、$id=1 を代入すると次のようになります。
select * from settings_table where id=1
これで問題はありません。id 1 の情報が取得されます。出力されて表示されるため、通常のページが表示されます。

————————————————————————
判断方法を参照してください:
1. id=1 と 1 を送信します。 =1
これを見てください。どのような効果があるでしょうか? ここの $id は 1 で、1=1 です。どのようになるかを見てみましょう:
select * from settings_table where id =1 and 1=1
このステートメントは and ステートメントを追加し、その後に 1=1 が確実に成立するため、上記のステートメントの成立には影響しません。また、id=1 の情報を取り出して表示します。元の通常ページのままです。
2. id =1 と 1=2 を送信してみましょう。
これがどのような影響を与えるかを見てみましょう。
select * from を SQL で実行する方法を見てみましょう。 settings_table where id =1 and 1=2
このステートメントを分析すると、最後に 1=2 が追加されることを除いて、以前と同じです。これは当然当てはまりません。そしてandで繋がっているので当然条件に合うものが見つからない!エラーまたは空白のページが表示されるだけです。 !
上記は、一般的に and 1=1 & および 1=2 を使用して判断する基本的な理由ですが、ここで次のような注意点があります。
1. プログラムを処理するときは、次のようにする必要があります。 be where id =$id と It's not where id=$id は大きく異なります。なぜ異なるのかについては後で説明します。 。
2. プログラムが送信したパラメータを処理しないか、うまく処理しないため、プログラムが送信したパラメータをさらに処理する場合は別の話になります。
レクチャー 2: MYSQL のバージョンを簡単に判断する
前提条件: news.php?id=1 などのインジェクション ポイントを取得します。
このポイントを見つけました。submit and 1=1 and and 1= 2違う形で返されます。
この方法で MYSQL のバージョンを推測できます。 。手順は次のとおりです:
1. /news.php?id=1/*!40000%20s*/ を送信します。正常に返された場合は、MYSQL バージョンがバージョン 4000 未満であることを意味します。最大値は調整できます。たとえば、Submit 39000 に変更しました。再度正常に動作する場合は、Submit 38000 を実行します。エラー メッセージが返されるまで、最終的な修正バージョンは MYSQL バージョンです。 。
以下は私がテストを提出したときのプロセスです(MYSQL版のみ)
40000 (+)--39000 (+)--38000 (+)--370000 (-)--37900 (+)- - 37800(+)--37700(-)--終了! !
取得した MYSQL のバージョンは 37700 です。
2. 一般に、MYSQL が 4.0 以降であるかどうかのみを考慮します。以下はサポートされていないため、通常は 40000% のみを使用します。 20s*/ バージョン 4.0 以降であるかどうかを確認します。
追記: /*!40000%20s*/ /*!......*/ は mysql の特別なコメント メソッドです。使い方を覚えておいてください~~
レクチャー 3: PHP インジェクションを通じてテーブル名を取得する方法。 。
書こうとしていたところ、質問されていたのでまとめて第3回講座とさせていただきます!

引用:
原文投稿者: Spirit by 2006-5-16 05:57 PM:
とてもたくさんの記事を読みました...目がくらくらしてしまいました
それに関係するものまた、比較的包括的でもあります
しかし、テーブルの作成方法がまだわかりません
フィールドを直接削除することはできませんか? ?
一つ一つ説明してください
データベーステーブルのフィールド値...
このロジックは正しいと思います...
ところで、私は今でもそう感じています...
テーブルは本当に難しいです直接公開される可能性がある ASP とは異なり、PHP はまだ公開できません。
1. 経験に基づいて推測します: 一般的に使用される admin、user、news、vote、wenzhang、guanliyuan など。 、など、待ってください、それについては何もできません。 。
2. コードを公開する: Load_file を使用してファイル コードを公開すると、データがどのテーブルとフィールドに補間されているかがわかります。しかし、load_file も非常に優れています。 。それについては後で詳しく説明します。 。
-----------------------------------------------
これについて詳しく説明します。
1. これについては何も言うことはありません。たとえば、news.php?id=1 のようなインジェクション ポイントが見つかった場合は、ユニオン クエリを使用して次のことを行うことができます。例: news.php?id=1 および 1=2 結合選択 1,2,3,4 が確立されます。
次のように推測できます: news.php?id=1 および 1= 2 Union select 1 ,2,3,4 from admin/*admin テーブルが存在する場合は true を返し、そうでない場合はテーブル admin が存在しません。他はこれと同じです。
2. これは少し究極ですが、たとえば、絶対パスを取得すると、ファイルのコードを取得できます。たとえば、管理者のログインページを取得すると、次のようになります。 SQL ステートメントを見れば、彼がどのテーブルから値を取得したかがわかりますね?》》
原理は次のようなものです。もっと考えて、あなたの経験を共有したいと思います。 。 。 。
レクチャー 4: 引用符を付ける場合と付けない場合の違い
多くの友人は、引用符の機能についてあまり知りません。彼らは、引用符を付けても付けなくても同じ効果があると考えています。
引用符(一重、二重を含む)は正しいです。 私たちの注入は大きな影響を及ぼし、主に魔法の状態に関係します。魔法がオフの場合は効果がありませんが、魔法がオンの場合は完全に影響します。違う。 。​

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles