ThinkPHP5 的简单搭建和使用

0X01 Thinkphp 的安装

我这里选择的是使用 windows 下的 composer 进行安装,收下首先下载 composer 这个工具,安装完成以后进入我们想要创建项目的文件夹输入下面的命令

composer create-project topthink/think tp5 dev-master --prefer-dist

这样就会在当前目录下形成一个 名为 tp5 的文件夹,这个文件夹中存放的就是 thinkphp5 的基本的框架

0X02 重点目录结构及文件介绍

1.目录结构

application : 应用目录,我们的模型视图控制器都会放在这个文件夹下,这是我们开发的主阵地

public : 这个是我们项目的入口文件,thinkphp 是一个单一入口的框架

thinkphp : 框架的核心目录

一篇文章带你理解漏洞之 Python 反序列化漏洞

0X00 前言

在分析了 PHP 的反序列化漏洞以后我打算将这个反序列化漏洞从语言层面进行扩展,然后我就看中了 python ,网上搜了一下,国内系统的讲 Python 反序列化漏洞的文章比较少,内容也是零零散散,于是我打算自己分析一下 Python 反序列化漏洞造成的命令执行和任意代码执行,然后弥补这个空缺。

0X01 Python 的序列化和反序列化是什么

Python 的序列化和反序列化是将一个类对象向字节流转化从而进行存储和传输,然后使用的时候再将字节流转化回原始的对象的一个过程。

1.用代码展示序列化和反序列化的过程:

为了看起来直观一些,我写了一个示例代码:

一篇文章带你理解漏洞之 SSTI 漏洞

0X00 前言:

这是“一篇文章带你理解漏洞”系列的第一篇文章,漏洞没有特定的介绍顺序,写作的目的主要是希望能将整个漏洞的框架完整的搭建起来(框架也就是所谓的前因后果->纵向,类比迁移->横向,探寻方法->技巧),而不是对漏洞的某一方面的简单陈述,我认为在没有完整的漏洞框架的基础上去单纯地学习怎么利用这种漏洞是没有意义的。

0X01 什么是注入:

看之前先记住一句话:注入就是格式化字符串漏洞的一种体现

我们都知道,在01 的世界里,很多的漏洞都能归结为格式化字符串漏洞(不管是二进制还是web),二进制中我们能通过格式化字符串漏洞覆盖返回地址等,web中 SQL 注入就是一个非常好的例子,我们在开发者本来认为我们应该插入正常数据的地方插入了sql语句,这就破坏了原本的SQL 语句的格式,从而执行了与原句完全不同含义的SQL 语句达到了攻击者的目的,同理 XSS 在有些情况下的闭合标签的手法也是利用了格式化字符串这种思想,总之,凡是出现注入的地方就有着格式化字符串的影子。

Redis 基础梳理以及其在渗透测试中的利用

0X00 前言:

之前一直说 NOSQL ,也看了不少文章对于未授权 NOSQL 的攻击案例,知道大致怎么用,但是自己一直没有尝试好好使用过,感觉对比 MYSQL 而言,我太轻视 NOSQL ,于是这次下定决心以 Redis 作为例子好好玩玩,特此记录备忘。

0X01 简介

我们知道 NOSQL 和 MYSQL 的差距还是非常大的,他不再是关系型数据库(也就是说他不在存在表这种东西),那他是什么呢?实际上它是以键值对的形式存放数据的,很像 json 的形式,并且与关系型数据库相比 Redis 能存储的数据类型也多得多,它不仅能存储字符串型的数据,还能存储其他四种类型:list,set,zset(有序),hash (就算是和同类 NOSQL 数据库 memcached 相比他也强大的多,因为 memcached 仅能支持比较单一的 key-value ),它支持数据在硬盘的持久化(EDB 快照或者是 AOF 的形式),还有一个特点就是他的所有操作都是原子性的,也就是说要么成功执行,要么就完全不执行。

记一次真实的域渗透经历(从文件上传到拿下整个域控)

0X00 前言

这是一次真实域渗透的记录,是在上个期末考试前一段时间完成的,距现在也有几个月了吧,但是由于漏洞的修复以及一些隐私的涉及,我没有立刻写这篇文章并发出来,这里面没有太多的高大上的漏洞利用技巧可言,写这篇文章的目的就是想展现一个真实域环境的渗透过程。

0X01 发现上传点

1.上传点中的玄学

事情的起因是另一个师傅发现了一个上传点,然后我们就一起玩了起来,不过说实话,整个 getshell 的过程异常神奇,或许这就是实战中的玄学吧

关于 Shell 权限的一些探究

0X00 前言

几个月之前写的那篇 搭建docker的 CTF getshell环境 由于其中写了一句:“因为这里涉及到权限的问题,比较复杂,我会更新这篇文章或者新开一篇文章”,期间也有很多人问我这个问题,于是还是决定亲自再测试一下,搞一搞这里面权限应该怎么设置,为什么要这样设置,也算是给自己和他人一个交代,谁让我承诺了呢?

0X01 Linux下的权限管理

1.基本概念

权限是操作系统用来限制资源访问的机制,权限一般分为读、写、执行。Linux 系统中每个文件都拥有自己所属用户及所属组,并且通过10个字符表明了那些用户和用户组能有权对该文件进行哪些操作。

关于One-line-php-challenge的思考

原文首发于安全客:https://www.anquanke.com/post/id/162656

0X01 前言:

hitcon 2018 过去了,作为一个 web 手 one-lin-php-challenge 这道题自然引起了我的很大的兴趣,后期看各路大师傅们的解题姿势,也都是之前说过的一些细小的知识,看看为什么没有利用起来

0X02 题目介绍:

此处输入图片的描述

P.S. This is a default installation PHP7.2 + Apache on Ubuntu 18.04

不愧是 Orange 巨巨的题,真的惊了。

大概解释一下就是 我们要通过 get 方式传入一个 orange 参数,作为文件名,然后程序会将我们传入文件名的那个文件取出头6个字符和 @<?php 比对,如果配对成功那么就会包含这个文件,否则就什么都不做

我们知道,这个比赛的 flag 开头是 hitcon 正好是6个字符,有没有关系呢?我们接着往下看

Mysql 在渗透测试中的利用

一、渗透中可利用的 mysql 的点

1.写 webshell

1.select into outfile(要有 root 权限)

这个利用方式必须要是 root 登录权限,使用 select xxx ito outfile xxx 的形式,这个语句原来是用于快速导出某个表中的数据,或者整个表的,现在我们将我们的n 查询语句导出为 PHP 文件到 web 目录下

Select '<?php eval($_POST[cmd])?>' into outfile 'E:\phpstudy\PHPTutorial\WWW\123123.php';

但是使用这个语句的时候可能会出现几个问题:

(1)权限不够,我刚刚说过了,这个语句的使用必须是 root 权限,如果你非要尝试那只能得到下面的结果:

Access denied for user 'test'@'localhost' (using password: YES)

(2)受到 secure_file_priv 的限制,这个参数可以使用 mysql 命令行查询,查询语句如下:

show variables like '%secure%';

J2EE基础(JSP 篇)

一、为什么会出现 jsp(java server page)

1.程序员在开发过程中发现 servlet 开发界面非常的不方便,于是诞生了 jsp

2.一个公式:

jsp = html + java + jsp 标签 + js + css

3.jsp + java类(service Javabean)+ servlet 就会构成 mvc 开发模式

4.jsp 是运行在服务器端的

网络拓扑:

此处输入图片的描述

5.jsp 的基础是 servlet (相当于是对 servlet 的包装)

随笔杂谈

成者的三个要素

1.淡化“我”在行动中的地位,特别是不要让“我”的情绪对行动产生影响。
2.成功者往往在失败中看到的是新的机遇,而不是眼前的苟且与失败,并且总能将那种机遇变成现实。
3.身体要好,年轻时要注意保养。

纪念一下这些日因为没日没夜疯狂敲键盘差点报废了的手……以后要注意保养。

|