打点
nmap直接开扫
-p- 全端口扫描
-A 表示 aggressive,可以理解为全面扫描
80 http协议
22 ssh协议
2112 FTP协议
2112放了一个FTP,可以通过默认的用户名登录进去,用户名为anonymous 密码随便填
由于不是默认的端口,所以ftp登录时需要指定一下端口,命令为
ftp -p 192.168.54.101 2112
230说明匿名登录成功
binary 以二进制模式传输文件,保证文件完整
get命令下载文件到桌面
一段php代码,应该是登录页面的备份,固定了用户名是admin
另外一个文件是
目前的线索就到这里,然后去80看看,这个
源代码没啥东西,扫扫目录,有个登录框
试试爆破,上面有个用户名来着,爆破失败了。
回到bak文件,分析一下(我问ai的)
● if ($_GET[‘login’] === “1”) { … }:首先检查
G
E
T
[
′
l
o
g
i
n
′
]
是否等于
"
1
"
。这意味着此代码仅在
U
R
L
中
l
o
g
i
n
参数的值为
1
时执行(例如:
e
x
a
m
p
l
e
.
c
o
m
?
l
o
g
i
n
=
1
)。●
s
t
r
c
m
p
(
_GET['login'] 是否等于 "1"。这意味着此代码仅在 URL 中 login 参数的值为 1 时执行(例如:example.com?login=1)。 ● strcmp(
GET[′login′]是否等于"1"。这意味着此代码仅在URL中login参数的值为1时执行(例如:example.com?login=1)。●strcmp(_POST[‘username’], “admin”) == 0:使用 strcmp() 函数比较用户输入的用户名(通过
P
O
S
T
[
′
u
s
e
r
n
a
m
e
′
]
获取)和预设的用户名(本例中为
"
a
d
m
i
n
"
)。如果它们相等,
s
t
r
c
m
p
(
)
函数将返回
0
。●
s
t
r
c
m
p
(
_POST['username'] 获取)和预设的用户名(本例中为 "admin")。如果它们相等,strcmp() 函数将返回 0。 ● strcmp(
POST[′username′]获取)和预设的用户名(本例中为"admin")。如果它们相等,strcmp()函数将返回0。●strcmp(_POST[‘password’],
p
a
s
s
)
=
=
0
:与第二步类似,该部分代码使用
s
t
r
c
m
p
(
)
函数比较用户输入的密码和预设的密码。如果它们相等,
s
t
r
c
m
p
(
)
函数将返回
0
。●
i
f
(
s
t
r
c
m
p
(
pass) == 0:与第二步类似,该部分代码使用 strcmp() 函数比较用户输入的密码和预设的密码。如果它们相等,strcmp() 函数将返回 0。 ● if (strcmp(
pass)==0:与第二步类似,该部分代码使用strcmp()函数比较用户输入的密码和预设的密码。如果它们相等,strcmp()函数将返回0。●if(strcmp(_POST[‘username’], “admin”) == 0 && strcmp($_POST[‘password’], $pass) == 0) {…}:最后将前面两个条件组合,使用 && 操作符(逻辑与操作)。这意味着如果用户名和密码都正确,则整个条件为真,if 语句中的代码将被执行。
既然爆破不行,那就只能想着绕过strcmp函数,百度!
有这篇文章,https://www.cnblogs.com/websec/p/7099687.html
意思就是在passwrd后面加[],就能绕过这个登录。
放包,然后就登录成功了
只有log这里能点,抓个包看看
看到file,想到文件读取漏洞LFI(不会就百度)
成功读取,有一个用户名为webadmin,密码为
1
1
1webadmin$3sXBxGUtDGIFAcnNTNhi6,放cmd5解密,要购买才能看。
现在就知道了,有一个用户名为webadmin,密码为dragon可以拿去SSH登录
然后就有了一个低权限的shell
可以查看第一个flag
提权
接下来就是提权,先sudo -l
它会显示用户可以执行哪些命令以及可以以哪些用户身份执行这些命令。其中,sudo代表“superuser do”,允许用户以其他用户(通常是root用户)的身份执行命令,而-l选项表示“list”。
在所有用户(ALL)和所有组(ALL)的权限下,他们可以使用 /bin/nice 命令运行 /notes/* 目录中的所有程序。
/bin/nice 是一个 Linux 命令,用于调整程序的优先级。/notes/* 表示 /notes/ 目录下的所有文件。所以,这意味着 webadmin 可以更改 /notes/ 目录下所有程序的优先级。所以提权思路是,在notes目录下写入一个shell,再利用命令 、bin/nice /notes/shell 就能提权成功啦
太保姆了,兄弟们!!!
这就尴尬了,没权限呀,可能在webadmin用户下有权限
还真是!但是现在文件就不在notes下了,这时候有个有意思的操作,可以把命令改成
bin/nice /notes/…/home/webadmin/shell1.sh
要先给shell1.sh权限,chmod +x shell1.sh
大概意思就依旧在notes目录下,但是绝对路径还是在webadmin下
完结撒花!!!