在某次漏洞挖掘的过程中,发现了一个比较有意思的bool注入。在常规的and和or构造payload不能用的情况下,最后利用了字符串拼接的方法实现了注入。

注入点在account处。利用单引号稍稍测试即可发现输出的不同之处。

尝试闭合的时候,发现平时用的好好的payload都不管用了,死活闭合不上。见图。
这里有个小waf可以用注释+换行的方法过掉

按理来说这里应该是可以闭合上的才对。但是直接报了个参数错误(后面多次测试后猜测应该是sql句子语法报错的时候返回的错误提示信息)
or不行那就用and试试。图一已经确定了admin账号是存在的,测试一下。发现仍旧闭合不上

这里试着去掉等号直接采用account=admin'and'aaa的方式进行闭合看看能不能闭合上,仍旧失败。

这里猜想了一下后端是不是过滤了关键字导致了and和or之类的关键字被过滤。尝试双写

仍旧失败。这里我就只能认为后端是不是有什么奇怪的操作以至于闭合一直不成功。

歇了好几天,我又一次打开这个网站(毕竟到嘴的肥肉不能轻易放过)
想到之前我也挖到过这个系统老版本的注入,当时的DBMS用的是Oracle,但是当时的payload已经不起作用。
前面第一次输入account=admin的时候,根据回显可以判断admin账号是存在的。
于是就想着试试看能不能利用拼接操作,让数据库执行一下拼接的句子。
可以看到,这个account=adm'||'i'||'n的payload成功的闭合了

随后灵机一动,将i这里换成CHR(105)看看执行的结果。

没有问题!那这样的话,就可以根据回到平时构造payload的路上,想办法在'i'这里替换我们的payload,并且让最后的结果仍旧为字母i,即可读取到数据。

这里稍微构思了一下,最后采用了 account=adm'||CHR(ASCII(SUBSTR()))||'n的形式来构造。
只要用ASCII函数将SUBSTR截取的字符的ASCII码值取出后,适当加减一些数字,使得CHR的参数等于105,即可知道原本的字符是什么。

用bp爆破了一下user的首位字母,如下。

成功爆破出了第一位。那么接下来就可以写个脚本跑数据了。跑了一下当前的用户,结果见图

由于笔者对ORACLE的了解有限,如果文章中有什么不当之处,还请师傅们多多指正。本篇也只是在常规的and和or不可用的情况下,偶然想到的一种绕过方法,在其他DBMS下并未进行测试。

字符串拼接的sql注入实战相关推荐

  1. Web安全Day1 - SQL注入实战攻防

    声明:文中所涉及的技术.思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担! 本专题文章导航 1.Web安全Day1 - SQL注入实战攻防 http ...

  2. SQL注入实战————1、MySQL手工注入实战

    无意中发现了一个巨牛巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,小白也能学,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家 ...

  3. 实训第二天记录-sql注入实战:教务系统模拟注入+sqli-labs less1-5

    一.模拟注入教务系统 用火狐访问教师搭建好的教务系统靶场 SQLi漏洞利用 判断是否为动态网站,动态网站即可根据不同情况动态变更的网站,例如上图中点击查看详情,每个查看详情链接返回的结果都不同,说明是 ...

  4. SQL注入实战MySQL_SQL注入实战-MySQL

    靶场地址:https://mozhe.cn/bug/detail/MFZ4VjBxRnlIMHBUdGllRDJBMWtRZz09bW96aGUmozhe 进入靶场详情页,点击启动靶场,根据系统提供的 ...

  5. 白帽SQL注入实战过程记录(2)——根据information_schema组装SQL注入语句

    目录 接上一篇内容 写在前面 信息汇总 漏洞汇总: 数据库信息: 利用inf

  6. 网络安全--SQL注入介绍

    课程目标:讲解SQL注入的原理.特点.危害,SQL注入的攻击手法和MySQL注入的常用函数,讲解相关工具,如何去防御SQL注入. 任务目标:了解SQL注入相关概念,掌握SQL注入攻击手法,了解SQL注 ...

  7. Java代码审计(7)Sql注入审计

    文章目录 1.基础 1.1 常见注入点 1.2 数据库特性 1.2.1 数据库特定表 1.2.2 注释符 1.2.3 数据库报错 1.2.4 MySQL 5.0 中information_schema ...

  8. Python如何防止sql注入

    前言 web漏洞之首莫过于sql了,不管使用哪种语言进行web后端开发,只要使用了关系型数据库,可能都会遇到sql注入攻击问题.那么在Python web开发的过程中sql注入是怎么出现的呢,又是怎么 ...

  9. java安全(二):JDBC|sql注入|预编译

    给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 关注公众号:b1gpig信息安全,文章推送不错过 1 JDBC基础 JDBC(Java Database Connectivity)是Java提供 ...

  10. [转]数据安全之SQL注入资料整理

    SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别, 所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉. ...

最新文章

  1. 【书签】格式化nginx.conf文件的工具
  2. canvas 嵌套_canvas初探
  3. Android面试收集录 2D绘图与动画技术
  4. 当你辛辛苦苦写的博客文章被无情复制,成为了他的原创,你作何感想?
  5. alloca函数的风险_alloca的函数范围中的goto是否有效?
  6. HTML+CSS+JS实现 ❤️swiper倾斜图片特效❤️
  7. 下载丨2020 PG亚洲大会(PPT汇总)
  8. PyTorch实战福利从入门到精通之二——Tensor
  9. Java中hashCode和equals方法的正确使用
  10. Windows批处理命令学习笔记(1)
  11. 小米,红米手机miui安装谷歌服务框架GMS三件套安,安装Google Play商店
  12. react-native Android使用阿里icon font图标
  13. mysql两张大表关联查询_关于mysql当中给数据量特别大的两个表做关联查询的时候解决查询速度很慢的解决方法...
  14. 结构方程模型(SEM)理论篇 (SEM 1)
  15. php记录上次观看记录,PHP 记录用户访问记录
  16. java 导出excel换行_java WriteExcelFile生成excel如何让在一个单元格内换行?
  17. Neutron 架构
  18. SSD Performance测试简介
  19. .NET Core Web API 发布IIS 报错 500.31
  20. 窗口透明化 AlphaBlend

热门文章

  1. 一文搞定十大排序算法(动画图解)
  2. 【SSM分布式架构电商项目-32】Dubbo入门
  3. 黑客攻防实战入门读书笔记
  4. 网络安全技术入门到项目实战
  5. 【实验室乱记】从 0 开始的 STM32L0 的 Gps WiFi 蓝牙模块物联网开发
  6. 3dsMax2018注册问题
  7. 三位深度学习之父共获2019年图灵奖,学术人生令人赞叹!!!
  8. 网络与信息安全基础知识专栏
  9. Error:不允许有匹配 [xX][mM][lL] 的处理指令目标。
  10. 基于java的员工绩效考核管理系统