SQL注入学习part03:(结合sqli-libs学习:21-30关)

写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)

第二十一关

  • 正常登录返回结果
    在这里插入图片描述
  • 判断是cookie注入
  • 抓包

在这里插入图片描述

  • 基于’)字符型的Cookie注入
  • 注入语句需要使用base64进行加密

在这里插入图片描述

  • 加密

在这里插入图片描述

  • 使用的注入语句是显示位判断的注入语句

在这里插入图片描述

  • 后续就可以随意进行操作
  • get it

第二十二关

在这里插入图片描述

  • 可以看到和上一题非常类似
  • 所以抓个包猜一猜闭合符,试了几次发现是双引号
  • 然后按照上一题的思路抓包改包放包
    在这里插入图片描述
  • 抓包结果如上
  • 然后修改cookie,在后面添加注释语句uname=" union select 1,2,3#
  • 然后还得使用base64编码
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 成功使用显示位查询注入语句
  • get it

第二十三关

在这里插入图片描述

  • 好像又回到梦开始的地方
    在这里插入图片描述
  • id范围在1-12会正常返回
  • 并且测试出单引号会报错
  • 但与前十题不太相同
  • 因为很神奇的发现注释符号貌似用不了
  • 所以只能把后面的单引号闭合符构造成字符串并使用and连接
    在这里插入图片描述
  • 例子就是输入一个单引号会报错,输入两个单引号就正常了

在这里插入图片描述

  • 注一个试试
  • easy
  • get it

第二十四关

在这里插入图片描述

  • 正常登录的界面如下
    在这里插入图片描述
  • 尝试多次的结果是并没有找到注入点
  • 想了想,发现这道题不是为了让我们获取到数据库信息,而是获取到其他用户的密码,通过非法修改其他用户的密码。毕竟有一个更改密码的页面(好吧我又看了大佬的wp@东京没有下雨天
  • 首先我先注册一个用户名为test密码为1的账号
    在这里插入图片描述
  • 注册后的结果如上,二次注册显示账号已经注册了表示我们前面注册成功了
    在这里插入图片描述
  • 登录进来就是我们看到的密码更改界面
  • 这个时候我们注册一个新的用户test’#密码为123
    在这里插入图片描述
    在这里插入图片描述
  • 这个时候可以改密码改成123456
    在这里插入图片描述
  • 尝试登录test’#
    在这里插入图片描述
  • 发现还是使用的来的密码
  • 登录test
    在这里插入图片描述
  • 发现test的密码为更改test’#时重新设置的123456
  • $sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";
  • 更新密码的语句如上
  • get it

第二十五关

在这里插入图片描述

  • 老套路id输入参数1-12
    在这里插入图片描述
  • 字符型输入所以开始判断闭合符
    在这里插入图片描述
  • 单引号闭合符
    在这里插入图片描述
  • or 与 and 被注释了
    在这里插入图片描述
  • 那就不采用
  • 使用联合查询替代,或者使用连接词替代都是可以的
  • id=-1' union select 1,2,3#
    在这里插入图片描述
  • get it

A

在这里插入图片描述在这里插入图片描述

  • 数值型
    在这里插入图片描述
  • get it

第二十六关

在这里插入图片描述

  • 和上一题类似但是是空格被注释掉
    在这里插入图片描述
  • 进一步尝试发现and or 注释符和空格都无了
    在这里插入图片描述
  • 双单引号测试出闭合符
  • 出于不能使用空格,就改用anandd
  • ?id=-1%27aandnd(updatexml(1,%27~hello%27,1))anandd%27
  • 报错注入
    在这里插入图片描述
  • get it

A

在这里插入图片描述

  • 试出了闭合符
  • 用上题一样的注入语句
  • get it

第二十七关

在这里插入图片描述

  • 这次轮到union和select了
    在这里插入图片描述
  • 离谱的发现把注释符也ban了
  • 那就单引号无注释符报错注入吧
  • 连接符正常未被禁用
  • ?id=1%27and(updatexml(1,%27~hello%27,1))and%27
  • 报错注入
    在这里插入图片描述

A

在这里插入图片描述

  • 试出闭合符为双引号后步骤同上

第二十八关

在这里插入图片描述

  • 判断闭合符号为单引号加括号闭合
    在这里插入图片描述

  • id=111') UnIon All Select ('1'),2,('3

  • 和前面类似,但是注入结果返回却报错
    在这里插入图片描述

  • 多次尝试未果,查找资料发现是因为注入语句未进行url编码

在这里插入图片描述

  • 尝试注入
    在这里插入图片描述
  • 得到显示位置
  • get it

A

在这里插入图片描述

  • 注入方法和前面的题目一样
  • 后续会使用盲注进行处理
  • get it

第二十九关

在这里插入图片描述

  • 闭合符为单引号

在这里插入图片描述

  • 基础sql注入是成功的
  • 但是很显然这题中重点不在这儿
    在这里插入图片描述
  • 找到一个login.php进行看看
  • 挺复杂的,查找资料发现是双服务器
    在这里插入图片描述
  • 另一个接口
    在这里插入图片描述
  • 尝试闭合符则会报错
  • 查找资料发现得传双参数进去(好吧我又看了大佬的wp@东京没有下雨天
  • /login.php?id=1&id=0' union select 1,database(),3--+
  • 翻译翻译就是:这道题目环境是双服务器的,对于同一个参数的两次传入,两种服务器解析的值不同,从而产生了这种注入
    在这里插入图片描述
  • get it

第三十关

在这里插入图片描述

  • 看情况应该也是双服务器的情况
    在这里插入图片描述
  • index.php轻轻松松解决双引号注入
  • login.php基于双引号的参数污染绕过
  • id=1&id=-1" union select 1,2,3%23
    在这里插入图片描述
  • get it

继续摸鱼

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值