[GXYCTF2019]BabySQli1

知识点:  1. 弱口令

                 2. md5加解密  base64加解密 base32加解密

开局进入到这个页面开始sql注入习惯性的输入admin 和 123 

得到一个密码错误,说明账户名是正确的,由于我比较懒所以用fuzz去扫了一下都有什么被过滤了

结果发现万能密码 or 被过滤掉了 等于号也被过滤了 就连括号也被过滤掉了

那就只能另外想办法了~

抓个包试试吧~

发现了奇奇怪怪的东西,看样子像base32编码,那就解码一下

 MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5

解出来是

c2VsZWN0ICogZnJvbSB1c2VyIHdoZXJlIHVzZXJuYW1lID0gJyRuYW1lJw==

看样子是base64的编码,在解码

select * from user where username = '$name'

那么注入点应该就是$name了.

之后判断注入类型

是字符型

之后猜测

select * from user where username = '$name' 这个语句应该是从user表中选出username 和 password ,然后将选出的password 和 我们输入的password 进行比较,如果password 相等则登陆成功

那么我们就来判断他的columns吧

是存在3个column

之后判断username在哪个字段

之后我们去看源码


		if($arr[1] == "admin"){
			if(md5($password) == $arr[2]){
				echo $flag;
			}
			else{
				die("wrong pass!");
			}
		}

意思就是我们输入的password 被md5加密了和我们从数据库取出的password 进行比较如果相等则输出flag值

所以我们只要输入的password的md5值等于我们自己伪造的md5值就可以了

可以在这里进行md5加密https://www.sojson.com/md5/

之后我么来构造payload

出现flag值,游戏结束~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值