自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 NACOS身份登陆绕过

简介Nacos 致力于帮助用户发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助用户快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODO 或HTTP&API查找和发现服务。影响范围Nacos <= 2.0.0-ALPHA.1漏洞详情1、后台扫描http://exampl

2022-04-12 20:08:07 3419

原创 Apache Solr 任意文件读取

简介Solr是Apache Lucene项目的开源企业搜索平台。其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本(如Word、PDF)的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr是最流行的企业级搜索引擎,Solr 4还增加了NoSQL支持。Solr是用Java编写、运行在Servlet容器(如Apache Tomcat或Jetty)的一个独立的全文搜索服务器。 Solr采用了Lucene Java搜索库为核心的全文索引和搜索,并具有类似REST的HT

2022-04-11 19:56:40 5026

原创 Linux-suid提权学习

SUID提权是给予文件的一个一个特殊类型的文件权限。在 Linux/Unix中,当一个程序运行的时候, 程序将从登录用户处继承权限。SUID被定义为给予一个用户临时的(程序/文件)所有者的权限来运行一个程序/文件。用户在执行程序/文件/命令的时候,将获取文件所有者的权限以及所有者的UID和GID。以下命令可以发现系统上运行的所有SUID可执行文件。find / -perm -u=s -type f 2>/dev/nullfind / -user root -perm -4000-print2&g

2021-10-21 20:34:53 350

原创 phar://、zip://伪协议进行shell上传

phar://环境:可上传png、jpg首先写一个一句话木马shell.php接着压缩成zip文件。将后缀改为png文件进行上传,上传文件后使用shell工具进行连接。http://localhost/?url=phar://uploads/63e93ffe53f03e93bb0a0249152d243874e31c9b.png/shellzip://环境:可上传png、zip首先写一个一句话木马shell.php接着压缩成zip文件。直接上传zip文件,然后使用shell工具进行连接。htt

2021-06-18 14:55:23 1236

原创 Python3实现简单的socket程序

简单信息传输服务端# -*- coding:utf-8 -*-from socket import *HOST=''PORT=2335BUFSIZE=1024ADDR=(HOST,PORT)#创建一个服务端tcpserver=socket(AF_INET,SOCK_STREAM) #SOCK_STREAM for TCP 流式socket #SOCK_DGRAM for UDP 数据报式socket

2021-04-10 20:00:13 260

原创 内网渗透之内网信息收集

前言当渗透到内网环境中时,首先应该对自己当前所处的环境有一个清楚的了解,清楚知道我是谁?这是哪?我在哪?判断机器处于哪一个区域,是在DMZ区、办公区、还是在核心区。这里的区域也不是绝对的,只是一个大概的环境,处于不同位置的网络,环境不一样,区域界线也不一定明显。收集本机信息收集的信息包括操作系统、权限、内网IP段、杀软、端口、服务、补丁情况、网络连接、共享、会话等。如果是域内主机,那么操作系统、应用软件、补丁、服务、杀软一般都是批量安装的。文件共享/FTP连接记录、浏览器访问记录、mstsc连接记录、

2021-04-07 21:54:46 509 1

原创 SQL注入如何判断数据库类型

前言在进行SQL注入之前,首先应该判断数据库的类型,不同的数据库在处理一些函数的时候会有一些微妙的差别,只有判断出是哪种数据库类型,这样才能根据数据库的类型选择合适的函数,更容易实现SQL注入。前端与数据库类型asp:SQL Server,Access.net:SQL Serverphp:MySQL,PostgreSQLjava:Oracle,MySQL根据端口判断Oracle:默认端口1521SQL Server:默认端口1433MySQL:默认端口3306根据数据库特有函数来判断

2021-04-01 15:37:40 8064 1

原创 XML外部实体注入;XXE漏洞;XXE有回显注入;XXE无回显注入;Blind XXE;绕过方式总结

漏洞原理XE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可以加载恶意外部文件,造成文件读取、命令执行、内网端口扫描。XXE漏洞触发的点往往是可以上传XML文件的位置,没有对上传的XML文件进行过滤,导致可上传恶意XML文件环境搭建地址:https://github.com/c0ny1/xxe-lab下载好后将PHP_XXE放到PHPstudy的www目录下就可以访问XXE有回显注入在登录处先抓一下包,可以看到是参数的传递格式是XML,可能存在XML注入。将数据包发送到R

2021-03-30 22:20:51 3188 2

原创 SQL注入写入Webshell

前言在平时的CTF题目中,我们只是利用SQL注入漏洞去获取flag,但是在实际的渗透环境中,我们可以利用SQL注入漏洞去上传一个webshell,进而获取网站的后台权限。首先,对于能否写入webshell是有条件的:secure_file_priv 支持数据导出。MySQL用secure_file_priv这个配置项来完成对数据导入导出的限制。如果secure_file_priv=NULL,MySQL服务会禁止导入和导出操作。通过命令查看secure-file-priv`的当前值,确认是否允许导入导

2021-03-28 15:34:55 2804

原创 命令执行漏洞

简介命令注入通常是指Web应用在服务器上拼接系统命令而造成的漏洞。在Web应用中,有时候会用到一些命令执行的函数PHPsystem:执行外部程序,并且显示输出<?php$whoami = system('whoami', $retval);echo $retval; //外部命令执行后的返回状态?> #将输出的内容写入变量$retval中,并输出该变量exec:执行一个外部程序<?phpecho exec('whoami');?>exec 执行

2021-03-27 22:19:36 416

原创 Empire域渗透神器

安装git命令下载git clone https://github.com/EmpireProject/Empire.git接着进入setup目录,安装Empirecd Empirecd setupsudo ./install.sh但是会出现报错Traceback (most recent call last): File "./empire", line 13, in <module> from lib.common import empire, helpers

2021-03-23 20:13:19 764 2

原创 PowerUp渗透模块

简介PowerUp是Privesc模块下的一个脚本,功能非常强大,拥有众多用来寻找目标主机Windows服务漏洞进行提权的实用脚本。通常,在Windows下面我们可以通过内核漏洞来提升权限,但是,我们常常会碰到无法通过内核漏洞提权所处服务器的情况,这个时候我们就需要通过脆弱的Windows服务提权,或者利用常见的系统服务,通过其继承的系统权限来完成提权等等,此框架可以在内核提权行不通的时候,帮助我们寻找服务器脆弱点进而通过脆弱点实现提权的目的。Invoke-AllChecks该模块会自动执行Powe

2021-03-22 10:53:50 296

原创 PowerSploit渗透教程

简介PowerSploit是一款基于PowerShell的后渗透框架软件,包含很多Powershell攻击脚本,它们主要是用于渗透中的信息侦查、权限提升、权限维持。https://github.com/mattifestation/PowerSploitLinux下安装和搭建Powersploit开启Apache服务将下载好的文件放在/var/www/html目录,搭建一个简易的服务器在网页中打开http://localhost/PowerSploit-master/Powersploi

2021-03-21 20:46:55 2071

原创 CRLF注入漏洞

原理CRLF是“回车+换行”(\r\n)的简称,在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦我们能够控制HTTP 消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HTTP Response Splitting,简称HRS。相比于XSS来说,CRLF的危害更大。对于HRS最简单的利用方式就是注入两个\r\n,之后再写入X

2021-03-18 15:57:38 369

原创 VMware中三种网络适配器

桥接模式在桥接网络中,虚拟机是一台独立的机器。在此模式下,虚拟机和主机就好比插在同一台交换机上的两台计算机。如果主机连接到开启了DHCP服务的(无线)路由器上,虚拟机就能自动获得IP地址。如果局域网内没有能够提供DHCP服务的设备,就需要手动配置IP地址。只要IP地址在同一网段内,局域网内所有的网段的计算机就能够互访,这样,虚拟机就和其他主机一样能够上网了。NAT模式NAT网络地址转换,在这个网络中,虚拟机通过与物理机的连接来访问网络。虚拟机能够访问主机所在局域网内所有同网段的计算机。但是,除了主机,

2021-03-14 16:16:28 2336

原创 计算机网络——应用层

网络应用模型1. 客户/服务器模型(C/S)服务器:提供计算服务的设备。1.永久提供服务。2.永久性访问地址/域名客户机:请求计算服务的主机。1.与服务器通信,使用服务器提供的服务2.间歇性接入网络3.可能使用动态IP地址4.不与其他客户机直接通信2. P2P模型不存在永远在线的服务器。每个主机既可以提供服务,也可以提供请求服务任意端系统/节点之间可以直接通讯节点间接性介入网络节点可能改变IP地址可扩展性好网络健壮性强DNS系统...

2021-03-14 15:09:48 77

原创 计算机网络——传输层

传输层功能提供进程与进程之间的逻辑通信(网络层提供主机之间的逻辑通信)复用和分用(对于协议来说)传输层对收到的报文进行差错检测传输层的两个协议面向连接的传输控制协议TCP:传送数据之前必须建立连接,数据传送结束后释放连接。可靠、面向连接、时延大,适用于大文件无连接的用户数据报协议UDP:不需要建立连接。不可靠、无连接、时延小,适用于小文件传输层的寻址与端口在网络中采用发送方和接受方的套接字组合来识别端点,套接字唯一的标识了网络中国的一个主机和它上边的一个进程。UDP协议特点

2021-03-13 20:55:54 198

原创 计算机网络——网络层

电路交换优点通信时延小有序传输没有冲突实时性强缺点建立连接时间长线路独占,使用效率低灵活性差无差错控制能力报文交换(串行)优点:无需建立连接存储转发,动态分配线路线路可靠性高线路利用率高多目标服务(一个报文同时发往多个目标)缺点:有存储转发时间报文大小不定,需要网络节点有较大的缓存空间分组交换(并行)分组:把大的数据块分割成小的数据块优点:无需建立连接存储转发线路可靠性较高线路利用率较高相对于报文交换,存储管理更容易缺点:

2021-03-13 16:43:40 109

原创 利用MS17-010对WIN7进行永恒之蓝攻击

0X01漏洞介绍MS17-010更新修复了 Microsoft Windows中的漏洞。 如果攻击者向 Microsoft 服务器消息块 1.0 (SMBv1) 服务器发送经特殊设计的消息,则其中最严重的漏洞可能允许远程代码执行。Eternal blue通过TCP端口445和139来利用SMB v 1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器, 无需用户任何操作, 只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。

2021-03-07 22:05:27 722

原创 利用MS12-020对WIN7进行死亡蓝屏攻击

0X01漏洞介绍MS12-020全称Microsoft Windows远程桌面协议RDP远程代码执行漏洞此安全更新可解决远程桌面协议中两个秘密报告的漏洞。如果攻击者向受影响的系统发送一系列特制 RDP 数据包,则这些漏洞中较严重的漏洞可能允许远程执行代码。默认情况下,任何 Windows 操作系统都未启用远程桌面协议 (RDP)。没有启用 RDP 的系统不受威胁。0X02影响范围Windows XP Service Pack 3Windows XP Professional x64 Edition

2021-03-07 20:10:49 1136 1

原创 MSF后渗透攻击

进程迁移刚获得shell时,该shell是极其脆弱和容易受到攻击的。所以第一步就是要移动这个shell,把它和目标机中的一个稳定的进程绑定在一块。1.ps命令获取目标机正在运行的进程。2.getpid获得shell的进程号(PID)3.通过进程号得知该shell的进程名。4.输入migrate + 被绑定进程的PID5.再次输出getpid,发现进程号已经变成需要迁移的进程号,进程迁移成功系统命令shell连接稳定之后,开始收集系统信息1.sysinfo命令查看目标机的系统信息2.rou

2021-03-06 21:00:06 1708

原创 [NCTF2019]Fake XML cookbook

题目是一个登录框,试了试弱密码登录不了,抓包看一下。发现传递的参数是xml格式,可能存在XXE漏洞。payload:<!DOCTYPE any [<!ENTITY a SYSTEM "file:///flag">]><user><username>&a;</username><password>admin</password></user>具体的XXE攻击可以查看另一篇博客https:.

2021-03-02 19:51:09 89

原创 XXE漏洞漏洞及利用方法解析

XXE(XML External Entity Injection)即XML外部实体类注入漏洞。XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。XXE漏洞触发的点往往是可以上传XML文件的位置,没有对上传的XML文件进行过滤,导致可上传恶意XML文件。0x001 XMLXML设计用来传送及携带数据信息,不用来表现或展示数据,HTML则用来表现数据,所以XML用途的焦点是它说明数据是什么,以

2021-03-02 19:02:28 2409

原创 [网鼎杯 2020 朱雀组]phpweb

打开题目就看到一个PHP的报错信息,查看网页源代码也没有发现其他信息。页面还隔五秒就刷新一下,使用burp抓包看一下。根据页面的报错信息和抓到的包来看,页面是执行了date函数,p的值是data函数内的值,试着执行一下cat / flag提示Hacker,被过滤掉了。试着读取一下页面的源码这里贴上源码<!DOCTYPE html><html><body><script language=javascript> setTim.

2021-02-05 18:31:44 84

原创 [BJDCTF2020]ZJCTF,不过如此

<?phperror_reporting(0);$text = $_GET["text"];$file = $_GET["file"];if(isset($text)&&(file_get_contents($text,'r')==="I have a dream")){ echo "<br><h1>".file_get_contents($text,'r')."</h1></br>"; if(preg_matc

2021-01-30 17:22:57 435

原创 preg_replace() /e代码执行漏洞

preg_replace() 函数该函数执行一个正则表达式的搜索和替换。语法mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换。参数说明:$pattern: 要搜索的模式,可以是字符串或一个字符串数组。$replacem

2021-01-30 16:48:20 4780 1

原创 [BJDCTF2020]The mystery of ip

看到IP立马就想到了XFF测试了一下,存在模板注入。是smarty注入。smarty注入payload{if phpinfo()}{/if}{if system(‘ls’)}{/if}{ readfile(’/flag’) }{if show_source(’/flag’)}{/if}{if system(‘cat flag’)}{/if}最终的到flag...

2021-01-29 20:10:38 77

原创 [GXYCTF2019]禁止套娃 无参数RCE

题目里只有一句话,F12也看不到任何信息,尝试后台扫描,结果也是得不到任何信息。使用Githack,扫到了有git源码泄漏。<?phpinclude "flag.php";echo "flag在哪里呢?<br>";if(isset($_GET['exp'])){ if (!preg_match('/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET['exp'])) { 过滤php协议 if(';' .

2020-11-22 11:27:37 395

原创 [BUUCTF 2018]Online Tool

<?phpif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];}if(!isset($_GET['host'])) { highlight_file(__FILE__);} else { $host = $_GET['host']; $host = escapeshellarg($host);

2020-11-18 20:37:11 225 3

原创 汇编基础---

寄存器:SS:栈段寄存器,存放栈顶的段地址。SP:寄存器,存放栈的偏移地址。DS:数据段寄存器,存放数据。CS:代码段寄存器,存放代码。CS:IP:基地址:偏移地址。SS:SP:任意时刻,指向栈顶元素。ES:扩展段寄存器。栈PUSH指令的执行步骤: 1. SP=SP-2 2. 向SS:SP指向的字单元中送入数据POP指令的执行步骤: 1. 从SS:SP指向的字单元中读取数据 2. SP=SP+2一个栈段的最大可以设为64KB。这是因为:PUSH和POP等指令在执行的时候,只

2020-11-07 14:19:17 208 1

原创 PHP反序列化漏洞解析

<?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { protected $op; //%00*%00属性名 protected $filename; protected $content; function __construct() { //该方法在创建对象时自动调用 $op = "1"; $filename = "/tmp/tm

2020-10-31 21:37:47 655

原创 [GXYCTF2019]BabySQli

打开题目发现是一个登录界面,尝试一下admin,admin弱口令登录,结果提示wrong pass!,查看源码,发现一串特殊的字符。MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5然后对其先进base32解密,然后再进行base64解密,得到:select * from user where username = '$name'接着猜解表中有几个列a.

2020-10-28 18:30:46 158

原创 SQL注入实践 [极客大挑战 2019]HardSQL

打开题目,发现这也还是一个SQL注入的题目。难度可能比之前的大,也就加了点过滤吧。通过测试发现过滤了union,and,等于号,空格可以使用updatexml或extractvalue报错注入法查表:?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1.

2020-10-27 20:27:20 281

原创 Bugku_flag.php

打开题目,发现了一个登录页面,但是却不能提交,打开网页源码发现表单数据提交的地址也为空。这时候才想起来看一下题目的提示。显然点提交是提交是没用的。这里题目提示hint,想到hint.php,但是没有hint.php这个文件,看到flagphp,然后尝试hintphp但还是没用,然后尝试了一下?hint=1这里竟然访问到了源码分析源码:对cookie进行反序列化处理,若结果等于KEY,就会得到flag。此时的KEY为空,之前没有给他赋值,所以KEY默认为空,下边有一个KYE是赋了值的,但是这里的KE.

2020-10-25 15:02:24 184

原创 Bugku_多次

打开题目,发现页面上啥也没有,但是URl地址栏里有id的参数传进去,将id=1 换成id=2,页面信息发生变化,立马就想到了可能存在SQL注入。测试闭合方式id=1' //报错id=1" //不报错此时确定闭合方式为单引号闭合接着可以利用异或方式测试一下是否有对一些SQL注入的关键字有过滤。例如^(length(‘or’)!=0)如果返回页面显示正常,那就证明length(‘or’)==0的,也就是or被过滤了,通过测试发现,select or and union被过滤了,但是我们可以.

2020-10-24 21:25:44 273

原创 Bugku_字符?正则?

<?php highlight_file('2.php');$key='KEY{********************************}';$IM= preg_match("/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_GET["id"]), $match);if( $IM ){ die('key is: '.$key);}?> 通过分析代码可知,只要输入的id符合正则匹配,就可以得到fl..

2020-10-21 21:03:03 310

原创 Bugku_never give up

打开题目,只显示一行never never never give up !!! 没有其他任何信息抓包又重放了一下,然后有一个HTML的注释接着访问一下1p.html,查看网页源代码,发现了一个URL编码的字符串,解码后得到<!--JTIyJTNCaWYlMjglMjElMjRfR0VUJTVCJTI3aWQlMjclNUQlMjklMEElN0IlMEElMDloZWFkZXIlMjglMjdMb2NhdGlvbiUzQSUyMGhlbGxvLnBocCUzRmlkJTNEMSUyNyUyO.

2020-10-21 15:55:42 452 3

原创 Bugku_备份是个好习惯

根据题目提示,就可以想到是备份文件泄露,通过后台扫描得到了一个index.php.bak的可下载文件,打开看到了index首页的源代码<?phpinclude_once "flag.php";ini_set("display_errors", 0);$str = strstr($_SERVER['REQUEST_URI'], '?');$str = substr($str,1);$str = str_replace('key','',$str);parse_str($str);ech.

2020-10-20 20:42:40 139

原创 CTF代码审计

extract变量覆盖<?php $flag='xxx'; extract($_GET); if(isset($shiyan)) { $content=trim(file_get_contents($flag)); if($shiyan==$content) { echo'flag{xxx}'; } else { echo'Oh.no'; } }?>1、extract()函数使用数组键名作为变量名,使用数组键值作为变量的值,当变量中有

2020-10-20 13:40:03 2158 3

原创 [SUCTF 2019]CheckIn

打开题目,发现这是一道文件上传题,通过测试发现,只能上传图片文件,并且他还会过滤<?此处可以制作一个图片马由于他限制上传图片文件,所以可以在JavaScript代码前加上GIF89a?,从而绕过上传图片文件的限制。由于他会检查文件里的内容过滤掉<?所以可以编写成JavaScript代码进行绕过然后上传.user.ini注意生成的图片马的名称,要和.user.ini中的配置:auto_prepend_file的值相同。这样,每个页面就都包含2.gif这个文件了然后用蚁剑连接,就

2020-10-13 20:52:16 732

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除