赞
踩
以pikachu靶场的文件上传功能为例
上传一个木马图片
显示已拦截。
找到form-data;
字段加一个分号,中间写一些脏数据,前提是不能打乱数据包的原有数据结构。
账号明文密码在互联网上进行传输,属于低危漏洞,抓到包以后能对其进行爆破。
客户对其做的防护一般有两种:1.编码;2.加密。
现在说一下客户对其编码的问题,客户在前端做了一个base64加密,在后端进行了base64解密。
编码后抓到包以后进行爆力破解时会遇到一个问题,抓到的密码是base64编码之后的密码,不能对其进行明文密码的爆破。需要把自己的密码字典都编码成base64才能爆破出来。 把自己的字典全编码成base64很明显不太现实,字典小一点还好。这时需要在爆破的时候外面再加一层base64编码。
举个例子:写一个php代码,代码内容如下:
<?php
echo base64_decode($_GET['passwd']);
?>
把它放到web服务器上访问:
后端会认为admin
是base64编码格式,会对其进行base64解码,就成了i佗
,如果把admin换成base64编码之后的格式:
admin ==>base64 ==> YWRtaW4
再次访问:
后端进行base64解码后,输出admin。
可以使用Yakit工具对其base64编码后的密码进行爆破
写一个 php 测试代码,内容如下:
<?php
$a= base64_decode($_GET['passwd']);
if($a=="admin"){
echo "welcome";
}else{
echo "error";
}
?>
首先配置浏览器代理:
设置Yakit交互式劫持:
然后访问192.168.160.38/eval.php?passwd=admin
:
显示error,因为admin在后端进行了base64解码,所有输出错误。
查看抓包:
选中admin,右击 --> 插入标签/字典 --> 插入模糊测试字典查询
选择user_top10默认字典:
点击发送请求:
我们现在还是明文爆破,没有对其进行base64编码,所有不用看也知道没有成功。
加上base64编码:
{{base64(需要加密的数据)}}
发送请求:
找出最特殊的包,爆破成功。
通过webshell拿下一台服务器的权限以后,可以在服务器上上传一个cs木马或者通过ssh连接到服务器。
cs木马比一句话木马要强大的多,并且是图形化界面,很友好。
但是ssh连接必须要知道明文密码才能登录。
现在我们要实现ssh免密码登录,ssh采用的是非对称加密的,一旦把自己的公钥写进受害者服务器的ssh目录里时,就可以做到不需要密码进行ssh连接。
使用kali主机作为受害者服务器
kali :192.168.160.32
攻击机:192.168.160.38
前提:
- 受害者服务器开启ssh服务
systemctl start ssh.service #开启ssh服务
- 1
注:在没登陆ssh服务之前,ssh目录是没有的:
触发一下:
ssh kali@127.0.0.1
- 1
进入ssh目录:
这个目录里存放着已经通过认证的主机公钥。我们只要把ssh客户端的公钥写进来就可以了。
这里我们使用Git-2.41.0-64-bit
工具。
在用户目录 -->右击–>Git Bash Here
输入:
ssh-keygen -t rsa
ssh目录就会出现:
进入ssh目录:
复制id_rsa.pub
文件内容(公钥):
把文件内容复制到受害者服务器的ssh目录下,这里我文件命名为authorized_keys
然后攻击者使用Git命令行ssh无密码连接受害者服务器:
连接成功,over。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。