自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 通过Everything 建立HTTP服务器时指定文件夹共享

摘要:本地文件传输、共享,本地大文件共享。

2023-11-20 17:14:02 2093

原创 一口气说完网络安全设备的功能和作用

信息系统中部署的各类网络安全设备的功能介绍

2022-11-14 22:25:36 2975 1

原创 Python模块-requests(HTTP)

HTTP状态码获取https://httpbin.orgHTTP协议介绍协议分类:HTTP 1.0,使用的是80端口,一次一个连接。明文传输,不安全。HTTP 1.1,使用的是80端口,可多次一个连接。明文传输,不安全。HTTPS,使用的是443端口,可多次一个连接。加密传输。请求方法:HTTP1.0HTTP1.1GETGETPOSTPOSTHEADHEAD—PUT—DELETE—TRACE—CONNET

2020-09-26 22:56:47 499

原创 BeautifulSoup模块

页面爬虫思路:1、导入模块2、定义URL和请求头参数3、requests发送html请求,获取html字符串4、实例化BeautifulSoup对象(中介)5、获取数据6、存储数据

2020-09-26 22:56:18 183

原创 SSRF服务器请求伪造

SSRF概述服务器请求伪造1、网站提供了其他服务器获取数据的请求2、没有对目标地址做过滤3、靶场:https://github.com/nikosdano/SSRF-Vulnerable-with-CurlSSRF漏洞点1、所有传递URL参数的位置都可能存在SSRF漏洞2、远程加载图片、视频、通过分享链接等漏洞利用设定:有SSRF漏洞的服务器A为:192.168.83.144被攻击的服务器B为:192.168.83.139获取目标服务器的真实IP读取目标服务

2020-09-26 22:55:39 198

原创 XSS挑战之旅

level-1在“name=”后面写什么,网页就显示什么。*查看源码,发现写入的数据在<>标签的外面,那么name的值直接换成JS:<script>alert(1)</script><svg/onload=alert(1)><script>confirm(1)</script><script>prompt(1)</script>level-2此处为搜索型的xss,分析代码,使用的是get

2020-09-26 22:52:57 1954 2

原创 XXE漏洞

进行XXE漏洞测试时,必备知识:XML声明:<?xml version="1.0" encoding="utf-8"?>内部DTD声明:外部实体声明:<!ENTITY 实体名称 SYSTRM ‘URI/URL’>根据不同的环境,需要了解不同的协议,如php支持的协议:file://、http://、ftp://、php://、zlib://、data://、glob://、phar://、ssh2://、rar://、ogg://、expect://一、读取文件:以PH

2020-09-26 22:51:42 156

原创 redis未授权访问

漏洞简介以及危害Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下,利用 Redis 自身的提供的config 命令,可以进行写文件操作,攻击者可以成功将自己的ssh公钥写入目标服务器的 /root

2020-09-25 16:46:27 203

原创 Tomcat文件包含漏洞(CVE-2020-1938)

概述2020年2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,Apache Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可

2020-09-25 16:45:44 3953

原创 Weblogic任意文件读取漏洞

复现环境Weblogic版本:10.3.6(11g)Java版本:1.6启动本环境:vulhub漏洞利用方法本环境前台模拟了一个任意文件下载漏洞,访问http://your-ip:7001/hello/file.jsp?path=/etc/passwd可见成功读取passwd文件。读取后台用户密文与密钥文件Weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain下,名为SerializedS

2020-09-25 16:45:08 714 3

原创 Weblogic弱口令漏洞利用

111

2020-09-25 16:44:44 483

原创 Weblogic反序列化远程代码执行漏洞(CVE-2019-2725)

漏洞简述2019年4月17日,CNVD 发布《关于Oracle WebLogic wls9-async组件存在反序列化远程命令执行漏洞的安全公告》,公告指出部分版本WebLogic中默认包含的wls9_async_response包,为WebLogic Server提供异步通讯服务。由于该WAR包在反序列化处理输入信息时存在缺陷,攻击者可以发送精心构造的恶意 HTTP 请求,获得目标服务器的权限,在未授权的情况下远程执行命令。漏洞编号:CVE-2019-2725影响版本:10.3.6.0、

2020-09-25 16:43:46 2068

原创 Weblogic反序列化漏洞(CVE-2018-2628)

漏洞简述在 Weblogic 里,攻击者利用其他rmi绕过weblogic黑名单限制,然后在将加载的内容利用readObject解析,从而造成反序列化远程代码执行该漏洞,该漏洞主要由于T3服务触发,所有开放weblogic控制台7001端口,默认会开启T3服务,攻击者发送构造好的T3协议数据,就可以获取目标服务器的权限。漏洞编号:CVE-2017-10271影响版本:10.3.6.0.0、12.1.3.0、12.2.1.1和12.2.1.2测试环境:Linux || vulhub |

2020-09-25 16:42:50 817

原创 子域名收集工具——Sublist3r

工具简述Sublist3r是一个基于Python的工具,它可以帮助渗透测试人员和Bug猎手收集和收集其目标域的子域。旨在使用OSINT枚举网站的子域,使用来自公共资源和暴力技术的数据枚举网站的子域。公共资源包括广泛的流行搜索引擎,如谷歌,雅虎,必应,百度,Ask以及Netcraft,Virustotal,ThreatCrowd,DNSdumpster和ReverseDNS,以发现子域名。或者,也可以对给定域名强制执行子域,然后由名为Subbrute的集成工具处理。Subbrute是一个DNS元查询蜘

2020-09-25 16:42:12 1219

原创 Weblogic反序列化漏洞(CVE-2019-2729)

漏洞简述CVE-2019-2729漏洞是由于应用在处理反序列化输入信息时存在缺陷,攻击者可以通过发送精心构造的恶意 HTTP 请求,用于获得目标服务器的权限,并在未授权的情况下执行远程命令,最终获取服务器的权限。与CVE-2019-2725漏洞类似。漏洞编号:CVE-2019-2725影响版本:10.3.6.0、12.1.3.0、12.2.1.3测试环境:Linux || vulhub || Weblogic 10.3.6.0复现开始PoC攻击脚本:https://git

2020-09-25 16:41:39 3837

原创 Apache Shiro 1.2.4 反序列化漏洞(CVE-2016-4437)

漏洞简述Apache shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:#mermaid-svg-xo52XeHokgXokDcR .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-xo52XeHokgXokDcR .label text{fill:#333}#

2020-09-25 16:40:55 353

原创 OpenSSH命令注入漏洞(CVE-2020-15778)

漏洞简述OpenSSH是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效防止窃听、连接劫持以及其他攻击。实际环境汇中的利用场景:对于用户来说,ssh被阻止,但在authorized_keys文件中的命令选项允许使用scp的情况下,可以绕过此限制并在远程服务器上执行命令。也就是说,实际中通过各种手段获取到ssh的用户密码,但是不允许ssh连接,或者IP连接受限等情况下,可以尝试此漏洞进行利用。涉及版本:OpenS

2020-09-25 16:40:10 5069 2

原创 Pikachu——CSRF

1、CSRF(GET)2、CSRF(POST)3、CSRF Token

2020-08-29 22:48:01 530

原创 bWAPP——CSRF

一、CSRF (Change Password)1.1、Low本场景,通过GET请求方式修改密码, 并且验证仅验证两次输入的新密码是否相同:面对本场景的攻击:攻击者将在自己的站点上构造恶意页面,并引诱被攻击者访问恶意页面的链接,即可达到攻击目的。恶意页面源码://1.链接利用(a标签)<a href="http://192.168.83.129:10001/csrf_1.php?password_new=hack&password_conf=hack&action=

2020-08-29 22:47:45 1058

原创 SQLi-labs(Less-24)

Less-24 POST- Second Oder Injections Real treat -Stored Injections二次排序注入二次排序注入也成为存储型的注入,就是将可能导致sql注入的字符先存入到数据库中,当再次调用这个恶意构造的字符时,就可以出发sql注入。二次排序注入思路:1、黑客通过构造数据的形式,在浏览器或者其他软件中提交HTTP数据报文请求到服务端进行处理,提交的数据报文请求中可能包含了黑客构造的SQL语句或者命令。2、服务端应用程序会将黑客提交的数据信息进行存储,通

2020-08-03 09:27:23 221

原创 SQLi-labs(Less-23)

Less-23 GET - Error based - strip comments初测追加单引号,有报错:但是下列注释不掉后面的语句:?id=1’ or 1=1#?id=1’ or 1=1%23?id=1’ or 1=1 – #?id=1’ or 1=1 --+查看后端源代码,通过preg_replace()将#和–替换为空//将#和--替换为空$reg = "/#/";$reg1 = "/--/";$replace = "";$id = preg_replace

2020-08-03 09:26:49 130

原创 SQLi-labs(Less-20、Less-21、Less-22)

Less-20POST - Cookie injections - Uagent field -error based基于错误的cookie请求头注入。首先我们要了解一下cookie的作用,cookie是非常重要的请求头,它是一段文本,常用来表示请求者身份等。通过下面的源代码能够了解到,输入正确用户名和密码登陆后,服务器会将用户名和密码记录在cookie中。那么这样的作用就是下一次客户端只要提交cookie就能登陆。首先登陆,通过抓包获得cookie:第一个包第二个包以

2020-08-01 10:45:24 206

原创 SQLi-labs(Less-18、Less-19)

Less-18POST - Header Injection - Uagent field - Error basedPOST头User-Agent注入在页面username、password处都没有发现注入点。查看源代码://$uagent = $_SERVER['HTTP_USER_AGENT']; #HTTP请求头的User-Agent$IP = $_SERVER['REMOTE_ADDR']; #获取IP//对uname和passwd都做了像Less-17一样的过滤$un

2020-08-01 10:45:14 195

原创 SQLi-labs(Less-17)

Less-17POST - Update Query- Error Based - String在username中输入任何测试符号都无济于事。查看源码,后端对uname有过滤:function check_input($value) { if(!empty($value)) //检测这个形参是否为空。 { // truncation (see comments) $value = substr($value,0,15); //分割一串字符串的效果, 第二个参数是从第0个

2020-08-01 10:45:00 155

原创 SQLi-labs(Less-15、Less-16)

Less-15POST - Blind- Boolian/time Based - Single quotes单引号闭合,布尔盲注。任意输入用户名和密码不会有任何返回。只有在“成功”登录时才会有“反应”:尝试万能秘钥1' or 1=1 #是,成功绕过。所以,从这里我们可以初步判断出是单引号字符注入。而且,从输入错误返回红色字体图片到输入成功返回蓝色字体图片可以想到true和false从而想到布尔盲注,也就印证了该题提示使用布尔盲注。参考Less-5的语句进行部分修改就可以开始布

2020-08-01 10:44:48 431

原创 SQLi-labs(Less-13、Less-14)

Less-13POST - Double Injection - Single quotes - String - with twist由返回的报错提示,提交数据的闭合方式:小括号&单引号,即:')提交正确的账号、密码和完整的SQL注入语句均无回显。那就报错注入,构造报错注入语句:') or updatexml(1,concat(0x7e,database(),0x7e),1) # //暴库名') or updatexml(1,concat(0x7e,(select grou

2020-08-01 10:44:37 152

原创 SQLi-labs(Less-11、Less-12)

Less-11POST - Error Based - Single quotes- String基于POST的SQL注入POST请求:POST就是发送、提交。可以向指定的资源提交要被处理的数据。如果使用表单方式进行提交,表单的method必须设置为POST。post方式提交的特点:1、post提交数据相对于get的安全性高一些。(注意:抓包软件也会抓到post的内容,安全性要求高可以进行加密)2、传递数据量大,请求对数据长度没有要求。3、请求不会被缓存,也不会保留在浏览器的历史记录中。4

2020-08-01 10:44:11 202

原创 SQLi-labs(Less-9、Less-10)

Less-9GET - Blind - Time based. - Single Quotes输入测试符号,无错误响应返回,初步判定为盲注。查看源代码:$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";$result=mysql_query($sql);$row = mysql_fetch_array($result); if($row) { echo '<font size="5" color="#FFFF00"&g

2020-08-01 10:43:56 108

原创 SQLi-labs(Less-8)

Less-8GET - Blind - Boolian Based - Single Quotes初步测试发现闭合传参的是单引号:http://192.168.12.129:83/Less-8/?id=1' %23但是,构造SQL语句,后台执行后不返回到前端。在此印证了布尔盲注。即:在不知道数据库返回值的情况下对数据中的内容进行猜测。猜对了,返回正常页面(无执行信息返回);猜错了,返回错误页面。所以,可以根据页面是否正常来确定猜测信息准确性。通常,用于猜解的SQL函数有:sleep

2020-08-01 10:43:43 209

原创 SQLi-labs(Less-5、Less-6)

Less-5GET - Double Injection - Single Quotes - String初步测试发现闭合传参的是单引号:http://192.168.83.129:83/Less-5/?id=1' %23但是,手工构造SQL语句时需要的双查询注入,下面给出个模板:?id=1' union select count(*),1, concat(【PAYLOAD】,0x5c, floor(rand()*2)) as a from information_schema.tab

2020-08-01 10:43:03 121

原创 SQLi-labs(Less-1、Less-2、Less-3、Less-4)

Less-1GET - Error based - Single quotes - String根据页面提示:Please input the ID as parameter with numeric value请输入ID作为带有数字值的参数输入?id=1返回正常,即:http://192.168.31.241:83/Less-1/?id=1输入?id=1’返回错误,即:http://192.168.31.241:83/Less-1/?id=1’但通过页面提示发现输入的单引号成功被数

2020-08-01 10:42:36 209

原创 Chrome安装Hackbar插件

首先现在Hackbar插件:https://github.com/Mr-xn/hackbar2.1.3将其中的压缩包拖拽到Chrome的扩展程序。点击详细信息在下面的“来源”处点击一个链接:会跳转到给插件在Chrome中安装的文件位置,打开hackbar-panel.js文件将三处disable_hackbar()函数替换成init(),保存即可。完成...

2020-07-30 22:27:57 26456 4

原创 Metasploit (1)渗透测试框架介绍

Metasploit 渗透测试框架介绍Metasploit,一个渗透测试平台。可查找、利用、验证漏洞。1、基础库:metasploit 基础库文件位于源码根目录路径下的 libraries 目录中,包括 Rex、framework-core 、 framework-base 三部分。 Rex 是整个框架所依赖的最基础的一些组件,如包装的网络套接字、网络应用协议客户端与服务端实现、日志子系统、渗透攻击支持例程、PostgreSQL 以及 MySQL 数据库支持等。framework-core 库负责

2020-07-23 11:23:58 649

原创 Metasploit(3) 渗透测试之通过客户端进行渗透

客户端渗透测试原理在我们在无法突破对方的网络边界的时候,往往需要使用客户端渗透这种方式对目标发起攻击,比如我们向目标发一个含有后门的程序,或者是一个word文档、pdf文件。想要达到效果同时也要利用好社会工程学,来诱骗受害者执行恶意程序。客户端渗透技巧,通常用户的计算机都安装了安全软件,一般我们生成的恶意程序都会被检测,所以我们所设计的恶意软件可以利用人的劣根性,比如我们将恶意软件或网站伪装成色情软件或网站,这样目标会认为他本身就是不好的软件被安全软件检测是很正常的事情,如果他安耐不住关闭安全防护软件

2020-07-23 11:19:41 958

原创 Metasploit(2) 渗透测试之信息收集

基于 TCP 协议收集主机信息基于 SNMP 协议收集主机信息基于 SMB 协议收集信息基于 SSH 协议收集信息基于 FTP 协议收集信息

2020-07-23 11:18:39 636

原创 Nmap的从0到1

第一部分:Nmap基础.nmap基本用法1、全面扫描:nmap -A 192.168.12.131 可获取端口信息、服务名称、服务版本、主机MAC地址、操作系统及版本、设备类型等。2、多目标扫描:nmap 192.168.12.0/24 #扫描C段nmap 192.168.12.1-200 #扫描C段下1-200nmap 192.168.12-150.1-200 #扫描B段下12-150的C段下1-200。nmap -iL ip_list.txt #扫描ip_list.txt里的ip,在i

2020-07-23 11:12:02 186

原创 Python-基础操作(1)

1、列表操作#---------访问列表元素-------------names=['Alex','Tenglan','Eric']print(names[0])print(names[-1])print(names[2])print(names[-1])print(names[-2])print(names[-3])#---------切片:取多个元素---------------names=['Alex','Tenglan','Eric','Rain','Tom','Amy']

2020-07-07 22:10:39 158

原创 Python-高阶函数

一个函数可以作为参数传给另外一个函数:def f1(): print("in the F1")def f2(f): f()f2(f1)一个函数的返回值作为另外一个函数def f1(): print('in the F1')def f2(f): print('in the F2') return f fret=f2(f1) #调用发f2,并传递f1fret() #等价于f1()以上两者,满足其一,即为高阶函数。...

2020-07-07 22:06:32 146

原创 Python-装饰器

装饰器原则:1、不改动原代码。2、不改变原代码的调用方式。import timedef calulate_time(f): def inner(): start_time = time.time() f() end_start = time.time() print(end_start - start_time) return inner@calulate_timedef index(): time.s.

2020-07-07 22:05:25 73

原创 DVWA之File Inclusion(文件包含)

前言

2020-06-04 15:54:31 206

hackbar2.1.3.zip

浏览器插件。用于新的Firefox/Chrome的HackBar。 该插件使用webextension编写,并替代了原始Hackbar的XUL版本。 按F12使用HackBar

2020-07-30

空空如也

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

TA关注的人

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