Dragon
  • 一个纯白的黑客网站,一直在努力,apt的路上,更精彩!
adminAdmin  2019-01-28 21:42 lsh4ck's Blog 隐藏边栏 |   抢沙发  357 
文章评分 1 次,平均分 5.0

在开始真正的注入技巧之前,我们先来大致回顾下必要的 mysql 数据库基础

下面是注入 mysql 时经常会用到的一些单行函数,熟练使用是灵活注入的前提,尤其是在对抗一些 waf 的时候

  • 字符串连接函数,将多个字符串连接成一个字符串,注意,中间只要字符串有一个为空,最后结果也为空

  • 同样是连接多个字符串,但可以在开头指定分隔符,跟 concat()稍微不同,它会自动忽略中间的空值,只有分隔符为空,整体才返回空

  • 利用分组的方式连接所有字符串,通俗点儿讲,其实就是把某个字段下的所有数据全部连接成一个字符串,注意有长度限制,默认1024

  • 截取指定字符串,注意在 mysql 中的所有字符串截取操作[除了 limit],默认都是从 1 开始的,并非像代码中的数组是从 0 开始的

  • 截取指定字符串,具体用法基本同 substring()

  • mysql 专有的字符串截取,也就是说只有在 mysql 中有,mssql 和 oracle 以及 pgsql 中都没有

  • 从左往右截取 3 个字符,左截取

  • 从右往左截取 3 个字符,右截取

  • 返回一个字符串在另一个字符串中第一次出现的位置,可尝试配合上面的字符串截取函数在读取文件时用

  • 返回指定的 ASCII 码字符所对应的数值,下面的 ord()用法基本也是一致的

  • 把指定的数字转换成对应的 ASCII 码字符,n 久以前 bypasswaf 的惯用招数,各类编码绕过 waf 也是最常见的一种方式

  • 字符串替换,在读取文件时,我们可能需要用到 replace()替换一些特殊字符

  • 取整函数和四舍五入函数,比如,经典的显错注入,利用的就是 rand + group by/order by 的显错特性,mysql 官方文档已明确指出,rand 和 oderby / group by 不能共用,否则数据库会提示 ‘ERROR 1062 (23000): Duplicate entry’类的错误

  • 统计某个字段下的某条数据的字符总长度

  • 统计某个表下总共有多少条记录

  • 进制转换函数,16 进制转换,导出 udf 的时候可能会用到

  • 两个操作 xml 数据的函数,通常我们可以利用这种特性一句话就把所有的数据全部查出来,显错注入常用

  • name_const()只在 mysql 内部使用, 服务器在书写来自包含局部程序变量的存储程序的语句时会用到它,我们通常用它来显错注入

  • 字符串填充,跟代码中的字符串填充是一个意思,注意,如果被填充的位置原来有数据则会被直接覆盖,我们可利用这种方式来查数据

  • 时间盲注最常用的两个函数

  • 大小写转换,有时候为了减少我们的手工劳动量,可能就需要用到这种转换函数,尽可能的帮我们缩小范围

  • 利用判断特性,常配合时间盲注一起使用

  • 相当于 sql 中的’switch’语句,有兴趣可以把 sqlmap 的调试模式开起来,实际跑的时候你会看到大量类似的语句

  • rlike() 天然的 sql 模糊匹配,常规的 like 则需要带上通配符[只匹配指定字段]

  • 利用正则查询数据,实战中还是非常好用的,有时我们的需求就只单单是想查到管理员的账号密码,不到万不得已的时候,没必要非要一个表一个表的遍历,实在是太累,这时就可以尝试利用正则来帮我们快速搞,提高渗透效率嘛,当然,这事先肯定需要你多搜集一些管理表明字段名什么的,不然拿什么来匹配呢,如果尝试完所有常用的表明字段名都没查出来,行吧,那就只能乖乖的一个个的表遍历了

  • 几个读写文件的函数,写 webshell,读账号密码会经常用到

  • 尝试写 webshell,务必要先保证你要写的目标目录确实能写才行,不然也是写不进去的

  • 读取账号密码,最好在页面有回显时利用,不然就费老劲了

  • 暂时先来简单了解几个简单的 mysql 注释方法,其实还有一些比较偏门好用的字符,后面 bypasswaf 时再说

  • 熟悉几个常用的 Mysql 内置变量,搜集数据库信息时会用到

  • 特殊数据库 information_schema

  • 新旧版本 root 密码字段名的不同,密码的默认加密方式应该是 sha1

  • 指定可外连的数据库用户和 ip,这里的意思是允许 root 用户以这个密码,在任意 ip 上连,实际中肯定不能这样

下面是现场随便找的一个实例站点,来简单演示下关于利用 union 进行注入的完整流程

当前内容已被隐藏,您需要登录才能查看



本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

admin
Admin 关注:0    粉丝:6 最后编辑于:2019-01-30
这个人很懒,什么都没写

发表评论

表情 链接 私密 格式 签到

切换注册

登录

短信快捷登录 忘记密码 ?

切换登录

注册

验证码

×

感谢您对admin的支持,么么哒~

支付宝打赏 admin
请扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

lsh4ck's Blog - Hacking is endless! Focus on network security!

扫一扫二维码分享

无觅相关文章插件,快速提升流量