Webdav 2017-7269漏洞复现
Webdav漏洞已经是2017年的老漏洞了,但有些坑我还是踩了,所以写一篇文章吧!
测试环境攻击机:Distributor ID: KaliDescription: Kali GNU/Linux RollingRelease: 2020.2Codename: kali-rollingIP: 10.0.0.128
靶机:
Computer : ADMIN-9AB4DA91COS : Windows .NET Server (5.2 Build 3790, Service Pack 2).Architecture : x86System Language : zh_CNDomain : WORKGROUPLogged On Users : 3Meterpreter : x86/windows
环境部署靶机版本必须是R2的版本,我就因为版本不符合折腾了半天;然后装了X64的R2版本,一直缺少dll文件,后来改用X86的版本才复现成功!安装好IIS在”Web服务扩展”里开启”WebDAV”即可
攻击脚 ...
Source writeup
信息收集找到IP后直接上nmap -A -p- -T 4 192.168.1.134
发现一个22,10000端口开放;10000端口是http协议,打开看看是什么东西。
提示我们需要使用https协议访问 https://source:10000/编辑本地hosts来实现域名访问,Windows需要去掉只读属性Windows:D:\Program Files\cmder\vendor\git-for-windows\etcLinux:/etc/hosts
漏洞发现打开https://source:10000/ 发现是webmin,Google搜索webmin是什么总计下来就是一句话,以web的方式管理服务器。10000是webmin的特定端口msfconsole中搜索webmin,发现webmin的一个后门:exploit/linux/http/webmin_backdoor使用use exploit/linux/http/webmin_backdoor模块show options查看需要配置的选项,如下 ...
Photographer writeup
提示:This machine was developed to prepare for OSCP. It is boot2root, tested on VirtualBox (but works on VMWare) and has two flags: user.txt and proof.txt.
测试环境靶机IP:未知MAC:00:0C:29:A4:BA:BAkaliIP:192.168.1.131MAC:00:0C:29:E2:0D:83
信息收集VMware打开时仅主机模式,把kali设置成仅主机后重新请求DHCP(命令:dhclient)。获取到IP后使用nmap扫描当前网段,根据MAC获取靶机IP。
1234567891011121314root@kali:~/桌面# nmap -sP 192.168.1.1/24Starting Nmap 7.80 ( https://nmap.org ) at 2020-08-08 11:02 CSTNmap scan report for 192.168.1.1Host is up (0.00092s latency).MAC ...
python进制转换
表示方法二进制:0b开头八进制:0o开头十进制:无前缀十六进制:0x开头
十进制转十进制转二进制:bin(3) => ‘0b11’十进制转八进制:oct(9) => ‘0o11’十进制转十六进制:hex(11) => ‘0xb’
转十进制二进制转十进制:0b11 => 3八进制转十进制:0o11 => 9十六进制转十进制:0xb => 11
目录穿越漏洞复现
目录穿越目录穿越(Directory Traversal)攻击是黑客能够在Web应用程序所在的根目录以外的文件夹上,任意的存取被限制的文件夹,执行命令或查找数据。目录穿越攻击,也与人称为Path Traversal攻击。
漏洞危害攻击者可以使用目录穿越攻击来查找,执行或存取Web应用程序所在的根目录以外的文件夹。如果目录穿越攻击成功,黑客就可以执行破坏性的命令来攻击网站。
简单的目录穿越12345<?phpif(isset($_GET['file'])){//判断我们传入的变量是否可控 echo readfile("file/" . $_GET['file']);//读取我们file文件夹下的文件并输出}?>
漏洞复现源码中接收一个file参数,然后拼接到file后读取内容并输出,理论上只能读取file文件夹下的文件,当前我们加上../就能范围file文件夹的上级目录,../能叠加,直到返回到根目录。我们在C盘根目录创建hello.txt文件,使用目录穿越来读取里面的 ...
MySQL数据库提权
Udf提权什么是Udf提权?UDF是mysql的一个拓展接口,UDF(Userdefined function)可翻译为用户自定义函数,这个是用来拓展Mysql的技术手段。提权顾名思义就是提示权限,但这里的提权是指自己通过特殊手段给自己提权,达到入侵目的。那么Udf提权就是利用mysql的Udf来提升自己的权限,实际是用mysql的功能来进行shell,就像phpshell一样,这里我们可以理解为udfshel。参考文章:https://www.cnblogs.com/sijidou/p/10522972.html
检查环境使用Udf提权,mysql用户必须具有读取和写入权限,使用命令:select user,insert_priv,delete_priv from mysql.user where user='root';查看账户是否具有权限。因为udf有32位和64位得,所以得确定目标数据库版本(这里是数据库版本,不是操作系统版本)是64位还是32位,使用命令:show variables like 'version%';和select @@vers ...
PHP伪协议
php://PHP function allow_url_include=OnPHP function allow_url_fopen=On
php://inputphp://input是个可以访问请求的原始数据的只读流;官方的解释我也看不懂,我就知道POST提交php代码会被执行,不需要键名,直接提交代码。
php://filterphp://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。 这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(), 在数据流内容读取之前没有机会应用其他过滤器。在CTF中一般和文件包含一起利用,通常被利用来读取源码,直接读取会帮当成php代码执行,可以使用base64把读取到的内容编码,解密后即可得到源码。php://filter/read=convert.base64-encode/resource=0e.php
zlib:& ...
CTF-杂项
一、misc中隐写概述和工具介绍1. 隐写术       隐写术是一本关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容。隐写术的英文名叫做Steganography,来源于特里特米乌斯的一本讲述密码学与隐写术的著作steganographia,该书书名源于希腊语,意为”隐秘书写”。
2. 题目类型隐写术题目在CTF中大致分为以下几种类型:图片隐写—-jpg、png、bmp等图片的信息隐藏音频隐写—-MP3隐写、波形隐写、频谱隐写文档隐写—-常见文档格式,如doc、word、pdf等文件的信息隐藏视频隐写—-在嵌入视频中嵌入隐藏信息其他隐写—-如NTFS流、HTML的snow隐写等
3. 文件头       在隐写题目中,首先要介绍的知识点是文件头,文件头是位于文件开头的一段承担一定任务的数据。一般都在文件开头的部分,文件头一般是系统文件类似的重要标准,尤其是当我们遇到需要修复文件的题目时 ...
sqli-labs靶场详解笔记
SQLi-LABS Page-1(Basic Challenges)Less-1paylaod:-1' union select 1,2,3%23知识点:闭合引号
Less-2payload:-1 union select 1,database(),3知识点:union联合查询
Less-3paylaod:-1') union select 1,database(),3%23插入1'发现报错:'1'') LIMIT 0,1,告诉我们附近出错了,后面跟着括号,这时考虑闭合括号,注释掉后面的语句:1')-- -,这时返回就正常了,使用union联合查询即可。知识点:闭合括号,闭合单引号。
Less-4payload:-1") union select 1,database(),3-- -继续输入1',发现没反应,估计过滤了单引号,换成双引号试试,报错:"1"") LIMIT 0,1,1后面出现两个双引号,所以和上面一样的方法。知识点:闭合括号,闭合双引号。
Less-5paylaod:1 ...
易锦靶场新手区SQL注入
注入点通过群里讲师得到,id=95存在注入,其他不存在,我试了一下也是不存在。http://lab.yijincc.com:50006/?m=home&c=View&a=index&aid=95
注入类型通过id初步判断时数字型注入,输入95 and 1=1,页面无异常输入95 and 1=2页面不存在,说明存在数字型注入
获取返回列经过测试发现order by 48回显正常(我的天48个),union联合查询获取回显位置,payload:95 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48回显不是我们期待的,考虑过滤了union,使用异或测试union。95^(length('union')=5)如果未被过滤,最后运算结果应该是95,异或注入回显一致说明没有被过滤,但返回的不是aid为95的页面 ...