- 博客(33)
- 收藏
- 关注
原创 内网渗透再探(本地靶场搭建实验)
1 (环境搭建+web层面渗透)内网渗透初探(靶场环境搭建+web层面实验+内网基本操作)_叶子的Blog-CSDN博客这一部分就参考我上一篇半成品文章吧,搭建有什么问题可以在评论区留言,我就不一一写出来了。操作系统 IP地址 攻击者 kali IP地址:192.168.3.10 攻击者 Windows 10 IP地址:192.168.3.16 windows 7 外网地址:192.168.3.129 内网地址:192.168.52.143 windows
2022-01-26 23:19:32
4275
原创 内网渗透初探(靶场环境搭建+web层面实验+内网基本操作)
靶场环境搭建在此我使用的是红日安全的环境下载地址(红日安全)图片取自互联网,ip地址以实际地址为准操作系统 IP地址 攻击者 kali IP地址: 攻击者 Windows 10 IP地址:192.168.31.83 windows 7 外网地址:192.168.31.215 内网地址:192.168.52.143 windows 2008 IP地址:192.168.52.138 windows 2003 IP地址:192.168..
2022-01-19 21:49:46
5878
6
原创 Shiro550 Java反序列化漏洞分析
漏洞分析Shiro提供了记住我(RememberMe)的功能,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问。Shiro对rememberMe的cookie做了加密处理,shiro在CookieRememberMeManaer类中将cookie中rememberMe字段内容分别进行 序列化、AES加密、Base64编码操作。在识别身份的时候,需要对Cookie里的rememberMe字段解密。根据加密的顺序,不难知道解密的顺序为:获取rememberMe cooki
2022-01-14 15:14:35
1656
原创 文件包含漏洞复习~
文件包含相关函数(php)include():如果报错,只是警告,继续执行include_once():require():若报错,比如文件不存在,则会直接退出require_once():其余两个带once的函数和不带once的差不多,唯一的区别在****_once()函数会在导入文件前先检测该文件是否在该页面的其它部分被导入过,如果有的话就不会重复导入该文件。当利用这四个函数来包含文件时,不管文件是什么类型(图片、txt等等),都会直接作为php文件进行解析。例如:&l
2022-01-12 16:55:42
1045
原创 文件上传Getshell复习~
文件上传漏洞文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。常见场景是web服务器允许用户上传图片或者普通文本文件保存,而用户绕过上传机制上传恶意代码并执行从而控制服务器。显然这种漏洞是getshell最快最直接的方法之一,需要说明的是上传文件操作本身是没有问题的,问题在于文件上传到服务器后,服务器怎么处理和解释文件。如果WEB应用在文件上传过程中没有对文件的安全性进行有效的校验,攻击者可以通过上传WEBshell等恶意文件对服务器进行攻击,这种情况下认为
2022-01-07 14:33:23
2443
原创 SQL手工注入、mysql写shell复习
、Mysql 手工注入1.1 联合注入?id=1' order by 4--+?id=0' union select 1,2,3,database()--+?id=0' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database() --+?id=0' union select 1,2,3,group_concat(column_name) fro
2022-01-06 17:44:52
1218
原创 filter_var函数缺陷(CTF例题,附源码)
基础知识filter_var函数缺陷(原理+实践)源代码// index.php<?php $url = $_GET['url'];if(isset($url) && filter_var($url, FILTER_VALIDATE_URL)){ $site_info = parse_url($url); if(preg_match('/sec-redclub.com$/',$site_info['host'])){ exec('cu
2021-11-15 15:54:34
3280
原创 Windows和Linux上的管道符
Windows管道符“|”:直接执行后面的语句。如:ping 127.0.0.1|whoami“||”:如果前面执行的语句出错泽执行后面的语句,前面的语句智能为假 如:ping 2 || whoami“&”:如果前面的语句为假则直接执行后面的语句,前面的语句可真可假 如 ping 127.0.0.1&whoami“&&”:如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句只能为真。例如:ping 127.0.0.1&&
2021-11-15 15:33:50
716
原创 pip更新,解决Cannot open ...Scripts\pip-script.py
python -m ensurepipeasy_install pip
2021-11-11 17:01:21
583
原创 [安洵杯 2019]easy_serialize_php
基础知识PHP序列化长度变化导致字符逃逸[0CTF 2016]piapiapia BUUCTF 详细writeup解题过程源代码进去点开按钮发现给出了源代码<?php$function = @$_GET['f'];function filter($img){ $filter_arr = array('php','flag','php5','php4','fl1g'); $filter = '/'.implode('|',$filter_arr).'/i
2021-11-11 16:01:14
427
原创 filter_var函数缺陷(原理+实践)
函数缺陷原理先看一段代码这段代码的逻辑大概是这个样子: 这个代码的类中有render()方法,其中render方法在index.html网页上输出了一个链接,这个过程是通过模板实现的,模板首先通过了escape方法进行过滤,其中链接的参数是通过getNexSlideUrl()获得的,往上看这个函数,这个函数是通过get方法获得一个参数然后通过filter_var()函数进行过滤作为函数的返回值。escape方法其中escape方法的原理是用htmlspecialchars()实现的
2021-11-09 11:16:51
1222
原创 in_array函数缺陷(CTF例题,附源码)
源代码//index.php<?phpinclude 'config.php';$conn = new mysqli($servername, $username, $password, $dbname);if ($conn->connect_error) { die("连接失败: ");}$sql = "SELECT COUNT(*) FROM users";$whitelist = array();$result = $conn->query($sql)
2021-11-08 15:33:55
960
原创 in_array函数缺陷(原理+实战)
函数缺陷原理先看一段代码这里可以很容易理解出,如果上传的文件名是1-24中的一个,那么就将文件进行上传。下面是in_array()函数的定义。in_array:(PHP 4, PHP 5, PHP 7)功能 :检查数组中是否存在某个值定义 : bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )在 $haystack 中搜索 $needle ,如果第三个参数 $strict..
2021-11-08 11:29:21
3930
原创 CSRF漏洞利用以及防御手段(详细解释)
基础知识CSRF漏洞基础知识靶场实验(DVWA)DVWA security:low查看源码<?phpif( isset( $_GET[ 'Change' ] ) ) { // Get input $pass_new = $_GET[ 'password_new' ]; $pass_conf = $_GET[ 'password_conf' ]; // Do the passwords match? if( $pass_new ==
2021-11-06 14:19:55
2667
原创 CSRF漏洞基础知识
CSRF漏洞CSRF漏洞简介CSRF(跨站请求伪造),是指利用受害者尚未失效的身份认证信息( cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用CSRF漏洞分类GET型GET型CSRF漏洞,只需要构造URL,然后诱导受害者访问利用。POST型POST型CSRF漏洞,需
2021-11-06 11:14:27
187
原创 XXE漏洞基础知识
XXE概述XXE(XML External Entity Injection)即XML外部实体注入。漏洞是在对非安全的外部实体数据进行处理时引发的安全问题。下面我们主要介绍PHP语言下的XXE攻击。文档结构XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。<!--XML声明--><?xml version="1.0"?> <!--文档类型定义--><!DOCTYPE note [ <!--定义此文档是 note 类
2021-10-29 18:39:50
1201
原创 XSS 跨站脚本漏洞总结(知识点+实例)
XSS 简介XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据攻击代码的工作方式,XSS可以分为反射型的XSS、存储型的XSS和DOM型的XSS。反射型反射型的XSS是非持久化的,攻击者事先制作好攻击链接,需要
2021-10-24 13:25:05
2023
原创 DOM《Document Object Model(文档对象模型)》
DOM的定义文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。目的是为了能让js操作html元素而指定的一个规范.DOM是HTML在浏览器中的表示形式,允许您操纵页面。 D(document):document的意思是文档,在dom中会将HTML这个页面给解析为一个文档,并在解析的同时会提供一个 document...
2021-10-23 14:13:23
221
原创 [极客大挑战 2019]HardSQL
基础知识基于extractvalue()和updatexml()的报错注入FUZZ测试写一个python 脚本跑一下屏蔽了什么关键字。import requestsfuzzdict = open('sqldict.txt').readlines()#sqldict.txt 存放了测试数据,按行读取url='http://a247ca21-77c7-4087-b935-b40f8bc38fa1.node4.buuoj.cn:81/check.php'Passtext = 'Wrong
2021-10-21 17:32:35
168
原创 基于extractvalue()和updatexml()的报错注入
extractvalue()函数EXTRACTVALUE (XML_document, XPath_string);第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc第二个参数:XPath_string (Xpath格式的字符串).作用:从目标XML中返回包含所查询值的字符串正常查询 第二个参数的位置格式 为 /xxx/xx/xx/xx ,即使查询不到也不会报错例如select username from security.user ...
2021-10-21 15:59:02
282
原创 [极客大挑战 2019]BabySQL BUUCTF靶场
FUZZ测试写一个python 脚本跑一下屏蔽了什么关键字。import requestsfuzzdict = open('sqldict.txt').readlines()#sqldict.txt 存放了测试数据,按行读取url='http://0c19d3ee-d0c8-42d8-b003-a7081ada8adb.node4.buuoj.cn:81/check.php'Passtext = 'Wrong username password'Failtext = 'Input y..
2021-10-21 14:51:23
147
原创 [极客大挑战 2019]EasySQL BUUCTF靶场
知识背景PHP SQL注入漏洞 万能密码解题过程首先在用户名处输入单引号判断一下闭合方式发现可以显示报错信息可以判断闭合方式为单引号尝试使用万能密码绕过payload?username=admin' or '1'='1&password=test' or '1'='1...
2021-10-19 19:48:55
186
原创 PHP SQL注入漏洞 万能密码
漏洞原理以下面的PHP代码为例。<?phpinclude('con_database.php');$username=isset($_POST['username'])?$_POST['username']:'';$password=isset($_POST['password'])?$_POST['password']:'';if($username=='' || $password==''){ echo "<script>alert('请输入账号和密码!')
2021-10-19 19:31:45
1987
原创 Mysql中重要的数据库和表和字段(SQL注入必备)
information_schema(数据库)储存数据库和表的元信息,information_schema中有两个重要的表,tables(表)储存表的元信息,有两列特别重要,table_schema(列)是所属数据库,table_name(列)是表名称。columns(表)提供了关于表中的列的信息。详细表述了某个列属于哪个表table_schema(列)表所有者(对于schema的名称)table_name(列)表名column_name(列)..
2021-10-15 15:36:35
369
原创 [极客大挑战 2019]Http BUUCTF靶场
基础知识Http参数详解手动解题查看页面源码发现隐藏链接访问Secret.php这个题的出题点应该是要修改http包内参数的内容,这句话就是要修改referer参数为www.Sycsecret.com,使用bp抓包解题成功脚本解题方法import requestsurl = 'http://node4.buuoj.cn:26684/Secret.php'header = {'Referer':'https://www.Sycsecret.co..
2021-10-15 14:36:16
514
原创 Http参数详解
http包样例GET /challenges HTTP/1.1Host: buuoj.cnUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,z
2021-10-15 13:49:17
851
转载 burpsuite无法捕捉localhost包的解决方法
burpsuite无法捕捉localhost包的解决方法主要针对如下两种情况:一.在这里插入图片描述直接将不使用代理的localhost,127.0.0.1去掉即可,即默认本地也启用代理,这样burpsuite抓包才能抓到本地的包。二.在这里插入图片描述明确告诉你localhost、127.0.01永不经过代理,主要针对firefox浏览器,打开about:config页面,搜索network.proxy.allow_hijacking_localhost双击变为true,再重新打开配
2021-10-13 17:21:37
390
原创 [0CTF 2016]piapiapia BUUCTF 详细writeup
基础知识php反序列话逃逸原理解题思路payload/www.zip源码泄露,直接可以下载打开config.php可以看到可能flag就存放在这里访问/register.php,随便注册一个账号,然后登陆,发现跳转到了update.php...
2021-10-13 17:14:21
478
原创 ctf-wscan 为ctf而生的web扫描器
ctf-wscan一个为ctf而生的web扫描器基于多线程的扫描器,可添加关键字,扫描一些备份文件和路径使用方式Useage : python ctf-wscan.py [website url]Example: python ctf-wscan.py http://ctf.test.com新增-k参数Useage : python ctf-wscan.py [website url] [-k key words ……]由于觉得添加关键字这个功能还是蛮常用的,于是添加..
2021-10-12 14:18:20
1433
原创 BUUCTF在线靶场 部分WEB Writeup(updating)
Warmup[极客大挑战 2019]EasySQL高明的黑客[CISCN2019 华北赛区 Day2 Web1]Hack World
2021-10-12 12:02:08
689
原创 正则表达式(python)
元字符点 . 匹配所有字符.表示匹配除了换行符之外的任意单个字符例:content = '''苹果是绿色的橙子是橙色的香蕉是黄色的乌鸦是黑色的'''import rep = re.compile(r'.色')for one in p.findall(content):print(one)output:绿色橙色黄色黑色星号 * 重复匹配任意次*表示匹配前面的子表达式任意次,包括0次例:content = '''苹果,是绿色的橙子,是橙色的
2021-10-11 13:39:53
278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人