我是靠谱客的博主 能干香水,最近开发中收集的这篇文章主要介绍2021-07-08 CTFer成长之路-SQL注入-字符替换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一:字符替换

1.只过滤了空格
除了空格,在代码中可以代替的空白符还有%0a、%0b、%0c、%0d、%09、%a0(均为URL编码,%a0在特定字符集才能利用)和/**/组合、括号等。假设PHP源码如下:

$id = str_replace(" ","",$sql);

2.将SELECT替换成空

$id = str_replace("select","",$sql);

3.大小写匹配
在MySQL中,关键字是不区分大小写的,如果只匹配了"SELECT",便能用大小写混写的方式轻易绕过,如"sEleCT"。

4.正则匹配
正则匹配关键字"bselectb"可以用形如"/!50000select/"的方式绕过

5.替换了单引号或双引号,忘记了反斜杠
比如

$sql = "SElect * from wp_news where id = '可控1' and title = '可控2'"

可以构造这样的

$sql = "select * from wp_news where id = 'a' and title =' or sleep(1)#' "

第1个可控点的反斜杠转义了可控点1预置的单引号,导致可控点2逃逸出单引号
在这里插入图片描述
可以看到,sleep()被成功执行,说明可控点2位置已经成功地逃逸引号。使用UNION注入即可获取敏感信息在这里插入图片描述

最后

以上就是能干香水为你收集整理的2021-07-08 CTFer成长之路-SQL注入-字符替换的全部内容,希望文章能够帮你解决2021-07-08 CTFer成长之路-SQL注入-字符替换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部