蚁剑与网站进行数据交互的过程中,发送的数据是经过编码器编码后再发送,支持的编码方式有default默认的、base64、chr、chr16、rot13;网站返回的数据经过解码器中的编码方式编码后返回,支持的编码方式有default、base64、rot13。
这里我们使用base64解码器和编码器进行流量分析
不使用编码器解码器
连接配置如下:
流量包数据如下:
从这个流量包当中可以看到,连接密码1a在数据包最前面(后期密码修改在最前面的仍然是最开始的密码),而返回数据包为明文传输。
接下来对webshell密码=后面的数据进行url解码,这里不在废话,此处命令蚁剑默认进行了base64编码,命令找的话就是最后面:&随机数据=,当然最前面的两个字符要删除掉。
解码前:
Y2QgL2QgIkQ6L3BocHN0dWR5X3Byby9XV1cvc3FsaS1sYWJzLW1hc3RlciImd2hvYW1pJmVjaG8gZTAxNmE5JmNkJmVjaG8gNjMxYWNjNDQyYWM0
解码后:
cd /d "D:/phpstudy_pro/WWW/sqli-labs-master"&whoami&echo e016a9&cd&echo 631acc442ac4
使用编码器
连接配置如下:
流量包数据如下:
连接密码1a在数据包最前面,命令依旧是在 &随机数据=,不过数据包相比于不使用编码器,内容基本上都进行了base64加密。
解码前:
Y2QgL2QgIkQ6L3BocHN0dWR5X3Byby9XV1cvc3FsaS1sYWJzLW1hc3RlciImd2hvYW1pJmVjaG8gMDU1NTU1OWFhJmNkJmVjaG8gOTYxYTU1ZDM=
解码后:
cd /d "D:/phpstudy_pro/WWW/sqli-labs-master"&whoami&echo 0555559aa&cd&echo 961a55d3
使用编码器解码器
连接配置如下:
流量包数据如下:
其中这个数据包前面有三个 &随机数据=,而我们要找的命令就是第二个 &随机数据= 和第三给 &随机数据= 中间,当然也不要忘记去掉前两位。
解码前:
Y2QgL2QgIkQ6L3BocHN0dWR5X3Byby9XV1cvc3FsaS1sYWJzLW1hc3RlciImd2hvYW1pJmVjaG8gMmQ3MmRkMCZjZCZlY2hvIDE4NzI4
解码后:
cd /d "D:/phpstudy_pro/WWW/sqli-labs-master"&whoami&echo 2d72dd0&cd&echo 18728
响应包中返回的数据使用base64编码。蚁剑的返回的数据采用base64编码时有点不一样,即返回的数据格式为:随机数 编码后数据 随机数。如果数据最后有一个=,所以可以确定=后面的是插入的随机数。当然也可以通过爆破的方式进行破解。