phpMyadmin4.8.1文件包含漏洞审计分析
前期准备以下示例来源于phpMyAdmin-4.8.1版本,版本下载地址:
https://x1ong.lanzoue.com/iziIc0jtg20h
代码审计工具:Seay源代码审计系统
https://gitee.com/p1stol/cnseay.git
审计首先打开seay源代码审计系统中新建一个项目,具体文件夹选择下载的phpmyadmin,接着在菜单栏中选择全局搜索,搜索文件包含关键字include,出现如下结果:
在出现的结果中,前几个所包含的文件较为固定,因此不考虑,在结果集中发现index.php文件中使用include语句引入了由$_REQUEST传入的target参数
我们双击该代码,来到具体的代码文件中,发现如果想要让程序执行到包含文件的代码,则必须满足这几个条件:
条件1:首先要满足target参数的值不为空
1! empty($_REQUEST['target'])
条件2:其次要满足target的值是一个字符串
1is_string($_REQUEST['target'])
条件3:target参数的值不 ...
端口转发AND内网隧道搭建
reGeorg 工具前置知识reGeorg 的好处是通过 HTTP 协议建立 socks5 隧道,当我们能通过外网访问服务器A,但是我们并不能与位于内网的主机交互,这时 reGeorg 就派上了用场,假设此时我们拿到了服务器 A 的 webshell,但是该内网主机的 icmp、DNS 、tcp 和 udp 协议等都不能出网,唯一的数据通道是 webshell 搭建正向代理。
reGeorg 的下载下载地址:https://github.com/sensepost/reGeorg
reGeorg 的利用reGeorg提供了PHP、ASPX、JSP脚本,直接访问显示 Georg says, 'All seems fine',表示脚本运行正常
首先将 reGeorg 服务端脚本利用上传漏洞或者其他方法上传到服务器中,脚本运行正常如下:
如果网页出现PHP如下的 waring 警告,也不用着急,只要出现 All seems fine 即可。
访问成功之后,使用 python2 版本启动 reGeorgSocksProxy.py,如果提示如下错误,需要安装 urllib3 ...
网鼎杯2020青龙组AreUSerialz
前言本道题是在BUUCTF平台刷题的过程中复现的,业界都说网鼎杯比赛是神仙打架,时隔三年之后来看网鼎杯的题目,发现还是非常有意思的。于是将本题的WP单独发出来了,后续也会继续做最新的网鼎杯题目。
源码如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081<?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { protected $op; protected $filename; protected $content; function __construct() { $op = "1"; $filename = "/t ...
Vscode 配置PHP代码调试环境
基于macos平台搭建vscode调试环境搭建环境
集成开发环境:MxSrvs
代码编辑器:Visual Studio Code (Vscode)
操作系统类型:Macos
集成开发环境下载地址:https://pan.baidu.com/s/1xZI65zE5hppgobjiRtHTJA?pwd=aejb
代码编辑器下载地址:https://code.visualstudio.com/
vscode安装相应插件插件名称:PHP Debug
vscode配置点击 vscode 左侧的运行和调试,接着点击 创建launch.json文件
调试器选择 PHP
以下配置保持默认即可:
launch.json 配置文件内容如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.micr ...
BUUCTF-Misc系列-Page-1
签到题目描述信息中有 FLAG,直接提交即可。
金三胖图片是一个 GIF,使用 PS 软件 逐帧进行查看即可,这里我直接使用 macos 系统自带的预览工具进行查看。
最终拼接得到FLAG。
1FLAG: flag{he11ohongke}
你竟然赶我走下载附件解压之后,使用 010 edit 十六机制编辑器查看。
二维码这里使用在线扫描工具,扫描发现提示:secret is here
接着使用 十六机制编辑器 打开,发现在 PNG 的文件末尾附加了一个 zip 压缩包文件。
从 50 4B 03 04 处复制直至末尾,接着新建一个 hex 文件,将其粘贴,保存为 .zip 结尾的文件即可。
解压该压缩包发现需要密码,通过文件名这里提示的是 4number ,猜测密码可能是四位数字。
这里使用业界比较著名的压缩包爆破工具 Advanced Archive Password Recovery 进行爆破。
这里攻击类型直接选择 掩码,所包含的范围 勾选 0-9即可。开始于 0000 结束于 9999。其中 ???? 表示每个位置可能是 0-9 之间的任意一位 ...
正则表达式
前言正则表达式是一套语法规则,适用于各大编程语言。本文章正则表达式匹配的演示近使用PHP语言进行匹配。其他语言只是所使用的函数不同。
简单介绍正则表达式
正则表达式就是描述字符串排列模式的一种自定义语法规则
如果可以使用字符串处理函数完成的任务,就不要使用正则表达式,正则的效率比较低。
有一些复杂性的操作,只能用正则表达式来完成。
正则表达式也称为一种模式表达式
正则表达式就是通过构建具有特定规则的模式,在与输入的字符串进行比较、分割、匹配、查找和替换。
什么是正则表达式
例子: '/<img\s+src=\".*?\" \/>/' 它就是正则表达式
乱七八糟的一对字符堆在一起,神秘的符号,有奇特的意义。
正则表达式的用处
验证用户名长度是否合法。
验证邮箱规则
验证手机号
验证URL
BBS编辑器
QQ聊天表情
新闻采集器(小偷程序)
正则表达式的特点
正则表达式也是一个字符串
由具有特殊意义的字符串组成的字符串。
具有一定编写规则,也是一种模式。
看做是一种编程语言,因为是用一些特殊的字符,按照规则编写处一个字符串,形成一种模式 ...
BUUCTF-Web系列-01-21
[极客大挑战 2019]EasySQL 1访问靶机地址,发现如下页面,在登录框中的用户名输入admin,密码输入admin提示密码错误。
由于题目给的提示是sql注入,这里尝试在用户名处构造 sql 注入语句,admin' or sleep(2) # 发现页面延时 N 秒,当构造 admin' or sleep(0) # 的时候,页面并没有延时,因此此处是存在 sql 注入的。
最终构造万能密码 admin' or 1=1 # 得到FLAG。
[极客大挑战 2019]Havefun 1访问靶机网址,出现如下页面。
右键查看源代码看到注释的PHP代码。
代码的逻辑是接收通过 GET 请求传入的 cat 参数,当 cat 参数的值为 dog 的时候会输出一段信息,我们这里尝试传入
[HCTF 2018]WarmUp 1访问靶机网址,出现如下页面。
右键查看源代码,发现注释信息 source.php ,尝试访问该文件,得到如下 PHP 源码。
123456789101112131415161718192021222324252627282930313 ...
CTFSHOW-Web入门-文件上传
web151 前端校验访问网站,出现如下页面:
右键检查发现,当我们点击 button 提交的时候,会触发下框中的匿名函数,并且从该前端代码可以得知,这里只允许上传PNG后缀的图片。
但是由于文件合法性校验发生在前端页面,故而这里我们可以进行绕过。
方法一:直接右键检查修改源码:
然后上传即可。
方法二:使用Burpsuite进行抓包:
先将PHP木马文件修改为以 .png 结尾的文件,接着使用BP抓取登陆的数据包,将文件名修改即可:
使用中国菜刀或者蚁剑连接即可,为了方便我这里直接使用HackerBar进行传参利用:
web152 前端+后端MIME校验界面与上一关一致,这里就不再截图。
直接上传一个PHP文件提示:
查看前端源码,发现这里也进行了前端的校验:
直接修改前端源码之后,进行上传发现无法成功。
于是这里使用BP抓取上传的数据库,接着发到重发器进行测试:
先直接上传PHP后缀的文件,页面返回:
通过前端代码发现,这里只要是状态码不等于0的,则都是上传失败的数据包。
经过测试发现,这里进行了MIME检测,通过修改请求头中的 Content-Type 字段, ...
MongoDB增删改查学习记录
NoSQLNoSQL,指的是非关系型的数据库。而我们平时说的关系型数据库,就是SQL,NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
NoSQL用于超大规模数据的存储;比如大数据。
而我们MongoDB就是属于非关系型的数据库。
什么是MongoDBMongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB将数据存储为一个文档,数据结构由键值对组成,类似于JSON格式,字段值可以包含其他文档、数组以及文档数组。
nosql 与 sql 的区别:
SQL术语/概念
MongoDB术语/概念
解释/说明
database
database
数据库
table
collection
数据库表/集合
row
document
数据记录行/文档
column
field
数据字段/域
index
index
索引
table joins
表连接/ ...
Mysql 增删改查学习记录
mysql数据库的基本操作1.如何登录到本地数据库
12345# 语法mysql -uuserName -pPassword或mysql -uuserName -p# 当不指定登录的主机时,默认登录的主机地址为localhost
2.如何登录到远程数据库
1mysql -uUserName -p -h IP或domain
3.如何查看当前数据库软件下有什么数据库
1show databases; # 命令
4.如何选择数据库
1use 库名;
5.如何查看当前数据库下有哪些表
1show tables;
6.如何查询表的所有数据
1select * from 表名;
7.如何查询指定字段名下的数据
1select 字段名1,字段名2 from 表名;
8.如何退出数据库的登录
123exit或quit
9.如何在数据库服务器中创建自己的数据库
1create database 库名;
10.如何在某个数据库下创建一个表
12345其语法格式为:create table 库名.表名(字段名1 字段类型,字段名2 字段类型,字段名3 字段类型);举例命令为:crea ...