登陆框select绕过
0x00 原理
思路来自美团杯2021,本来说出题人已经把select通过正则过滤了,就不该总是往用select进行查询那方面想-》 select id from users where username='admin' and password='admin'
0x01 绕过方法
首先我们测出or没被过滤,and被过滤,||没被过滤,异或没被过滤,但是select被过滤了,如果纠结于用盲注,那么就必须要用到select。
然后题目还过滤了单引号,可以用到之前那篇随笔我提到的方法。通过 username=admin\ 去注释掉查询语句中的单引号进行绕过,然后再到密码栏插入payload。
一开始我采用的payload: username=admin&password=|| 1=1 通过这种判断 得到了 页面的提示 no flag here,但是感觉提示的不是很明白。
之后构造了 username=admin&password=(ord(left(database(),1))/**/regexp/**/0x67)1 得到了数据库名的第一个字符是g 最后一个字符是p ,然后 测得数据库有3个字符。
但其实仔细一想这样不行, 因为 select 根本没法用,后面如果要查表 或者 查列都必须用到select。 所以必须换种思路。
0x02 技巧
- 如果是密码框,而且过滤了if,可通过case...when...else...end替换
如果没过滤的话,猜测密码列就是 password ,所以可在那构造判断,原payload是or//if(password//regexp//0x67,1,0) ,因为前面的用户名是错的,所以是0,实际上是0 or if(password regexp 0x67,1,0) ,
语句逻辑为 如果password列中有0x67转成的字符就返回1,否则返回0
实验:
通过这样构造 查询到了匹配成功时的id, 但是 这样的话 不管 是否匹配 都有查询结果,所以页面可能显示是一样的 难以判断。
所以我们需要改成延时盲注
如果过滤了if 和 逗号 需要改成
or//case//when//password//regexp//binary//0x67//when//sleep(3)//else//112//end;
语句逻辑为 如果 密码匹配到了某个十六进制,实际上就是匹配到了某个确切的字符 就 休眠3秒,通过这种方式判断密码列中的flag,且区分大小写。
binary 是为了防止 出现大小写相同匹配
使用了binary时 是区分大小写的
反之
登陆框select绕过的更多相关文章
- [js开源组件开发]模拟下拉选项框select
模拟下拉选项框select 在css3流行的情况下,下拉框还是无法满足PD的需求,所以有了autosearch,有了模拟下拉框.效果如下图: select DEMO请案例点击这里查看.http://w ...
- jQuery对下拉框Select操作总结
jQuery对下拉框Select操作总结 转自网络,留做备用 jQuery获取Select元素,并选择的Text和Value: 1. $("#select_id").change( ...
- struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input
原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1 function dosearch() {2 if ($(&q ...
- AngularJS(6)-选择框Select
1.在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出 <!DOCTYPE html> <html lang=" ...
- JQuery操作下拉框 select
要实现这种效果: html代码 1<script src="js/jquery-1.7.2.min.js"></script> 2 <table> ...
- php 品牌全车零件订购平台( 带采集数据 及 账号自动登陆【已绕过https证书加密】,php源码 ,QQ: 876635409 )
php捷豹路虎 品牌全车零件订购平台 ( 带采集数据 及 账号自动登陆[已绕过https证书加密],php源码 ,QQ: 876635409 [由于咨询用户太多,请备注:汽车配件]) 一.php+m ...
- 下拉框select中option居中样式
下拉框select中option居中样式 text-align:center;text-align-last:center;
- 基于jQuery鼠标点击弹出登陆框效果
基于jQuery鼠标点击弹出登陆框效果.这是一款扁平样式风格的jQuery弹出层登陆框特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <input type=" ...
- jQuery中下拉框select的操作方法详解
最近在写页面的时候常常遇到要动态增删改下拉框select的情况,由于我比较习惯用jquery框架来架构我的前端js,所以就顺便把各种jquery操作下拉框select的方法总结了一下,收藏起来以便下次 ...
随机推荐
- [Azure Devops] 使用 Azure Pipelines 实现 CI
1. 什么是 Azure Pipelines Azure Pipelines 会自动构建和测试代码项目,以将其提供给其他人.它适用于任何语言或项目类型.Azure Pipelines 结合了持续集成 ...
- SCIP:构造数据抽象--数据结构中队列与树的解释
现在到了数学抽象中最关键的一步:让我们忘记这些符号所表示的对象.不应该在这里停滞不前,有许多操作可以应用于这些符号,而根本不必考虑它们到底代表着什么东西. --Hermann Weyi <思维的 ...
- Python转义字符中'\'的个数问题
Python转义字符中''的个数问题 如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r' '或者r" "表示''或" "内部 ...
- 【C/C++】面向对象开发的优缺点
原创文章,转发请注明出处. 面向对象开发的优缺点 面向对象开发 是相对于 面向过程开发 的一种改进思路. 由于流水线式的面相过程开发非常直接,高效.在面对一些简单项目时,只需要几百行,甚至是几十行代码 ...
- OO_Unit4_Summary暨课程总结
初始oo,有被往届传言给吓到:oo进行中,也的确有时会被作业困扰(debug到差点放弃):而oo即将结束的此刻,却又格外感慨这段oo历程. 一.单元架构设计 本单元任务是设计一个UML解析器,能够支持 ...
- 中小型前端团队代码规范工程化最佳实践 - ESLint
前言 There are a thousand Hamlets in a thousand people's eyes. 一千个程序员,就有一千种代码风格.在前端开发中,有几个至今还在争论的代码风格差 ...
- OO第一单元作业总结——表达式求导
OO第一单元作业总结 第一次作业 基于度量分析代码结构 基本算法 第一次作业是简单多项式导函数求解,不需要对输入数据的合法性进行判定, 基本思想是用 (coeff, expo)表示二元组 coeff* ...
- vue2整个项目中,数据请求显示loading图----------未完成阅读,码
一般项目中,有时候会要求,你在数据请求的时候显示一张gif图片,然后数据加载完后,消失.这个,一般只需要在封装的axios中写入js事件即可.当然,我们首先需要在app.vue中,加入此图片.如下: ...
- 【beego】beego的路由设置
beego 存在三种方式的路由:固定路由.正则路由.自动路由 基础路由 从 beego 1.2 版本开始支持了基本的 RESTful 函数式路由,应用中的大多数路由都会定义在 routers/rout ...
- 【面试题2020-03-30】面试官:对并发熟悉吗?说说Synchronized及实现原理
一.Synchronized的基本使用 Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法. Synchronized的作用主要有三个: 1.确保线程互斥的访问同 ...