sqli-labs less-19 less-20 less-22_sql less-19


http-referer注入 less-19

直接分析源码,可以发现源码内对较多的地方都进行了一些过滤,但是唯独没有对referer进行过滤

(真实环境基本看不到源码,这里简单写一下) (前面那篇讲挺详细了,这里偷个懒累了(˚ ˃̣̣̥᷄⌓˂̣̣̥᷅ ))

对如下靶场进行抓包

对抓到的包进行测试,发现存在一个报错的回显。

’  and (updatexml(1,concat(0x7e,(select user()),0x7e),1)) or ‘1’='1 通过报错注入的函数,对其进行攻击,成功得到数据库信息。

ps:这篇已经讲过上面这个报错函数是啥辣(另外两个也可以正常使用)

sql绕过less-23 less-25 less-26 less-27 以及一点http头注入 less-18 less-5-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_74182283/article/details/137232140?spm=1001.2014.3001.5501

’ or if(length(database())=8,sleep(3),0) or ‘1’='1

此外,还可以通过时间盲注(布尔也行)进行测试(真实环境下看不到源码,没出现报错但成功得到referer,可以尝试一下),发现盲注测试成功。ps(有些电脑可能无法进行延时,可以把前面那堆删掉,只留 'or xxx 后面的再测试)盲注咋用前面也有写,有点折磨就不演示了(前面演示了)

具体使用:

’ and (updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1)) or ‘1’='1

此外还可以通过sqlmap来对referer进行注入测试:讲下面的请求数据全部复制,用终端创建一个txt的文本文件(touch 1.txt)然后通过vim命令把数据保存进去(vim 1.txt)然后添加一个*号(意思查全部)ps:直接桌面创建可能会有问题。

ps:referer下,把前面的那个ip地址全删掉,只保留一个*也可以进行sqlmap的探测

sqlmap -r “444.txt” --batch --dbs  (此前都讲过命令意思辣)

Cookie注入 less-20

cookie:服务器委托浏览器存储在客户端里的一些数据,这些数据通常都会记录用户的关键识别信息,可以通过f12(某些笔记本要加fn),在控制台输入document.cookie得到cookie,也可以从浏览器设置里找到之前保存的cookie。而cookie通常都会在用户访问一个新的页面时,进行生成。而后将其存到服务器中,后续访问页面,浏览器可以通过这个cookie,直接向服务器进行请求。服务器收到后,发现这个cookie之前是访问过的,就会把其对应的信息返回回来。

cookie注入原理
1.获得请求得 cookie

  1. Cookie 数据没有做特殊处理

  2. Sql 语句得执行使用 cookie

由于代码中使用 Cookie 传递参数,但是没有对 Cookie 中传递的参数进行过滤操 作。导致 SQL 注入漏洞的产生

由于上述所说的cookie原理,一开始是不会有cookie信息的,但登录后,就会自动出现一则cookie信息。登录后刷新页面,即可看到cookie的信息(ps:请求包是get的哦,post包看到cookie可能是缓存在作祟)

通过字符对cookie进行判断,发现存在报错,并且注入方式为’

’  and (updatexml(1,concat(0x7e,(select user()),0x7e),1)) or ‘1’='1 通过报错注入的函数,对其进行攻击,成功得到数据库信息。

’ and if(length(database())=8,sleep(3),0) or ‘1’=‘1#  也可以通过盲注成功注入。(ps 此处不能使用or 因为按照之前万能密码的讲解,如果使用or 前面的admin’ 就会变成右边这样’admin‘(拼接),而or只要一边成功即可执行,就不会进行延时的注入)

具体使用和上面一样

此处也可以使用sqlmap,原理与上面那个一样ps:(后面的那个proxy是通过代理看了下包,可以不加。)

cookie是个

Cookie base64编码注入 less-22

base64 一种编码格式,可以使用工具进行解密,举个小例子

对 ABC 进行 Base64 编码过程 - 首先取 ABC 对应的 ASCII 码值 A : 65、B : 66、C : 67

  • 再取二进制值 A : 01000001、B : 01000010、C : 01000011

  • 然后把这三个字节的二进制码接起来 010000010100001001000011

  • 再以 6 位为单位分成 4 个数据块并在最高位填充两个 0 后形成 4 个字节的 编码后的值 00010000、00010100、00001001、00000011

  • 再把这 4 个字节数据转化成 10 进制数 16、20、19、3

  • 最后根据 Base64 给出的 64 个基本字符表,查出对应的 ASCII 码字符 Q、U、J、D 这里的值实际就是数据在字符表中的索引。 解码过程就是把 4 个字节再还原成 3 个字节再根据不同的数据形式把字节数 组重新整理成数据。

登录靶场并进行抓包,发现此处的cookie似乎是被加密了,通过bp中自带的decoder解码器进行解码。(外边的解密网站也可以执行)

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值