专栏首页人工智能机器学习CTF从入门到提升(六)order_by注入及例题分享
原创

CTF从入门到提升(六)order_by注入及例题分享

order_by和常规注入有何区别呢?

​​位运算符

我们都知道常规的注入,比如id=100这种类型可以查询出一篇文章,如果把100换成99+1它一样可以查出,因为它会做计算。order_by 去判断列数的时候,如果把id=4换成3+1去执行,出来的结果并没有做计算,所以这个运算效果没有意义。

运算符如何运算呢?

位运算是将每一个值转化成一个二进制字符串。按位的“and”或“or”,假设2 | 3,转成字符串就是3。

ORDER BY

常规去使用order by的时候它后面会跟一个数字,通过它来判断列数,但实际上后面的参数应该是什么呢?

参数第一个位置必须是列名,可以用数字来代替,代表某一列。但是实际上后面还有还可以带一个可选参数,比如说ASC和DESC,意思是正序还是倒序升序还是降序,后面括号有个N在里头,它其实后面还可以跟好几列。

先根据ID先做排序,如果排完之后存在同面同变量的,它就会根据你设置的第二个参数进行排序了。

思考:

实际操作中如果能够控制代入ASC和 DESC,是不是也可以做一个注入呢?(大家可以思考操作试一下)

order by 与bool型盲注结合

举栗子

这是国外的某个网站上的一道题目,这道题目如果要访问地快可以使用V**。

可以发现  这里变成了倒序:

为什么返回的顺序是7356呢?

按位或,假设它是3236,那么它的原来结果是1234。

和2去做一个“或”,结果全部计算之后再做排序。

假设正则表达式是以A字母为开头去和结果进行匹配,会发现正则表达式和它是不匹配的,返回值就是0。它的返回值就是和1进行“或”的结果。

如果换成是字母B开头,它去匹配返回结果是1,按位2“或”拿到就是2的页面。

脚本整理分享给大家:

以上内容参考安全牛课堂《CTF从入门到提升》、

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习与网络安全(三)线性代数

    现在的人工智能完全由数据来驱动,我们所见到的数据,比方说一张图片有三个通道,分为R(红)、G(绿)、B(蓝),每个通道是一个图层,相当于有三张图层,比如每一张图...

    牛油果
  • CTFweb类型(十九)15位、7位可控字符下的任意命令执行

    ​​某些特殊情况下命令执行的Getshell中对应某个函数的内容可控,可控字符长度分为长可控和短可控。我们先来看15个字符可控。

    牛油果
  • 机器学习与网络安全(二)开发环境创建

    ​​由于我们的课程是使用了深度学习技术,主要的开发过程会集中在数据处理这个环节上。这种开发任务需要我们多次频繁地执行某些小的语句块,例如训练过程需要不断地调参,...

    牛油果
  • C++11就地初始化与列表初始化

    在C++11中,结构体或类的数据成员在申明时可以直接赋予一个默认值,初始化的方式有两种,一是使用等号“=”,二是使用大括号列表初始化的方式。注意,使用参考如下代...

    Dabelv
  • 深度丨CES现场采访联想CTO芮勇:我在联想做的 AI 项目,以及对人工智能的看法

    AI 科技评论按:芮勇博士自 11 月初正式公布去联想担任 CTO 后很少公开发声,而在今日的 CES 2017 现场中,AI 科技评论等媒体对联想集团高级副总...

    AI科技评论
  • 【通信专栏】STM32单片机/I2C通信(上篇)

    想来单片机这块儿除了USART串口通信外,常见的便是I2C通信了,因为I2C通信 硬件连接简单,可扩展性强,但是这种硬件连线的简洁,是以协议的复杂来弥补的。I2...

    周旋
  • VisualSVN:允许修改svn提交日志(pre-revpro-change hook)

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net...

    用户1148648
  • 强化学习之蒙特卡洛方法介绍

    在强化学习问题中,我们可以用马尔可夫决策过程(MDP)和相关算法找出最优行动值函数 q∗(s,a)和v∗(s),它通过策略迭代和值迭代找出最佳策略。

    崔庆才
  • 如何使用PageAdmin Cms建网站

    PageAdmin是国内最流行的内容管理系统和网站构建器之一,全国拥有上千万个网站使用这个系统做网站,占据内容管理市场的60%以上。这个免费的开源网站系统经久不...

    用户4831957
  • Confluence 6 "Duplicate Key" 相关问题解决

    这个错误信息说的是定义为'PK_OS_PROPERTYENTRY_314D4EA8' 的主键在表 'OS_PROPERTYENTRY' 中重复了。 你可以在 ...

    HoneyMoose

扫码关注云+社区

领取腾讯云代金券