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

DC9 Debian和sql注入

信息收集

sudo arp-scan -l 列出局域网主机

arp-scan向局域网中所有可能的ip地址发出arp请求包,如果得到arp回应,就证明局域网中某台主机使用了该ip

dc9的ip : 192.168.146.133 

访问网页 cms为Debian

端口扫描

22端口是filtered

隐藏目录扫描

dirb http:// -X.php

访问logout.php 或者session.php 都会提示已经以admin身份登录

下面还有一句File does not exist  

没法点击添加记录,我猜应该是像flask那样用了session 

但是有文件包含漏洞

把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件

程序开发人员一般希望代码更灵活,将被包含的文件设置为变量,用来进行动态调用

文件包含漏洞:用户对这个变量可控而且服务端又没有做合理的校检或者校检被绕过

现在要找到这个变量  把变量值设为敏感文件路径或者包含函数的文件(这个需要上传)

变量通常为file 

就是把函数写进文件里方便调用,设置变量,

?file=../../../../etc/passwd

ssh是被filtered,需要绕过防火墙进行探测

Debian的配置文件是 /etc/network/interfaces 刚好搜到了网络配置文件

翻译

环回接口,是虚拟的网络接口,不与任何物理硬件设备关联,ip地址为127.0.0.1 或::1 可以用来测试

主网络接口,连接到物理网络硬件,如以太网接口,无线网卡的接口,有1个或多个ip地址

没有查看到 etc/network/interfaces.d内容

看到了knockd敲门服务

其中的/etc/knockd.conf里的配置会导致ssh连接被拒绝,它通过动态的添加iptables规则来隐藏系统开启的服务

获得ssh开门密码 7649 8475 9842

使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问

nmap -p 7469 196.168.146.133 通过nmap发送ARP包完成敲门服务

8475  9842 

或者nc  

for x in 7469 8475 9842 22 ;do nc 192.168.146.133 $x;done

或者安装apt install knockd

执行sudo knockd 192.168.146.133 7469 8475 9842

然后nmap 看一下22端口是否打开

然后就可以ssh登录了,但是没有用户名和密码,那就暴力破解

刚刚的/etc/passwd有用户名,写入用户名字典 

密码的话,要么用通用字典,但我参考其他人的博客,数据库的一张表里有

sql注入

sql注入是:因为前端输入控制不严格造成的漏洞,使得攻击者可以输入对后端数据库有危害的字符串或符号,使得后端数据库产生回显或执行命令

从注入参数类型分:数字型注入、字符型注入

从注入效果分:报错注入、无显盲注(布尔盲注、延时盲注)、联合注入、堆叠注入、宽字节注入、二次注入

从提交方式分:GET注入、POST注入、HTTP头注入(UA注入、XFF注入)、COOKIE注入

注入的常见位置:

URL参数

表单输入:应用程序中的表单输入框,如用户名、密码、搜索框等

Cookie:应用程序使用 Cookie 来存储用户信息或会话状态,攻击者可以修改 Cookie 中的值来进行 注入

HTTP头部

数据库查询语句:在应用程序中直接拼接 SQL 查询语句

盲注并不会返回错误信息,使得sql注入的难度提高

报错型注入则是利用了MySQL的第8652号bug :Bug #8652 group by part of rand() returns duplicate key error来进行的盲注,使得MySQL由于函数的特性返回错误信息,进而我们可以显示我们想要的信息

有1个搜索框 可以输入“姓”或者“名” 搜多 Display Allm Records中的记录

但是url中没有参数,推测表单提交方式是post ,也可以抓包,看到数据在消息体里

一个登录框 可以编辑这些记录

对搜索框和登陆界面测试是否存在sql注入,是在输入框输入,并非url ,因为这两url都没有参数

输入sql注入语句

1' and 1=1#
1' and 1=2#
都不会报错

# 是注释符号,后面的部分都是注释

'  单引号用于表示字符串的开始和结束

单引号闭合 ,假设sql查询中,某个字段是由单引号'括起来的,通过一个额外的单引号闭合这个字段, 然后可以插入攻击者自己的sql命令

比如

SELECT * FROM users WHERE id = '[user input]'
然后用户输入1' and 1=1#

SELECT * FROM users WHERE id = '1' AND 1=1#'

1=1总是为真,不会改变原有查询结果

1=2总是为假,如果返回不同的结果,比如错误,那么就有sql注入漏洞

并不代表着不存在sql注入漏洞,可能是web服务器屏蔽了回显报错信,这个时候我们就无法判断闭合形式是否为单引号等,只能盲猜一手,而且因为不能报错,也就无法使用order by去判断查询字段长度,但还可以使用union select来判断

union是联合查询,合并两个或多个select语句的结果集,每个select必须选择相同数量的列,列必须拥有相似的数据类型(就是数据类型可以转化,比如数字字符串和数字)

比如两张表

执行union

select 1会原封不动的回显出来,字段名为1,数据为1

首先盲猜为单引号闭合:

1' union select 1#
1' union select 1,2#
1' union select 1,2,3#
1' union select 1,2,3,4#
1' union select 1,2,3,4,5#
当输入1' union select 1,2,3,4,5,6#

sqlmap爆破

 参考利用sqlmap进行POST注入_sqlmap post-CSDN博客

用Burp抓包,然后保存抓取到的内容,右键 点击 copy to files 保存为post.txt,然后把它放至某个目录下

sqlmap -r "/home/kali/Desktop/package1" -p search --dbs  (这个行不通)

表示加载一个文件,-p指定参数 是search

--dbs列出所有数据库

进入web开发者模式,点击network,然后在目标网页的搜索栏中输入1搜索,开发者工具中出现结果,翻阅查看信息,发现result.php的Request中出现信息

爆数据库名,由于是POST请求发送数据,所以这里指定–date参数为search

列数据库:

sqlmap -u "http://192.168.146.133/results.php" --data "search=1" --dbs

有3个 information_schema Staff users

查看 users里面的表

sqlmap -u "http://192.168.146.133/results.php" --data "search=1" -D users --tables

这个不知道为啥没结果,别的博客也是一样的命令都有结果

然后我就直接参考其他人的

sqlmap -u "http://192.168.146.133/results.php" --data "search=1" -D users -T UserDetails -C username,password --dump

--columns

-D [数据库名] -T [表名] -C [列名] --dump[列出字段的值]

ssh爆破

可以复制扫描结果,让ai整理出来,我用的智谱清言

用户名写入字典

密码写入字典

hydra -L user.txt -P passwd.txt -o ssh.txt -vV -t ip  ssh -s 22   
-L 指定用户字典文件 
-P 指定密码字典文件  
-o 把成功的输出到ssh.txt文件 
-vV 显示详细信息  
-s 指定其他端口 如果要修改默认22端口,可以使用 -s 参数

hydra -L username.txt -P pass.txt ssh://192.168.146.133

ssh登录 ssh 用户名@ip 

chandlerb UrAG0D!

ssh janitor@192.168.146.133

要用ls-al查看隐藏的目录和文件

d表示目录 三个一组,所有者,所属组,其他用户

l是符号链接也称软链接,指向另一个文件或目录,(类似于windows的快捷方式)

看到了secrets-for-putin 是秘密的意思,查看下

重写一个新的newpass.txt,这样能加快速度,再次ssh爆破

login: fredf password: B4-Tru3-001

登录

没看到有用信息

git提权 sudo -l

cat /opt/devstuff/dist/test/test 这个文件具有sudo权限,但是里边内容是乱码

查看文件的执行权限 能读 和执行

执行这个文件看一下有什么功能

查找test.py的路径

find / -name "test.py" 2>/dev/null

查看代码  会把第一个文件写到第二个文件里边 "a" 是追加模式 如果第二个文件有内容就会把第一个文件的内容追加到末尾 可以在这个test.py里边追加一个执行/bin/bash的语句 执行的时候会有一个root的shell

权限,不能修改

生成密码

openssl passwd -1 -salt hack123456

-1 的意思是使用md5加密算法

-salt 自动插入一个随机数作为文件内容加密

hack 123456 用户名和密码

查看格式 x表示有密码

将账户密码写到/tmp/passwd

在/etc/passwd写进具有root权限的用户和密码

echo 'hacker:$1$hack$.JxSX4bOP1WSqH0kCgs9Y.:0:0:/root:/bin/bash' >> /tmp/passwd

执行test

sudo ./test /tmp/passwd /etc/passwd

用户名是hacker 密码是123456 因为echo写错了 拿到flag


 

相关文章:

DC9 Debian和sql注入

信息收集 sudo arp-scan -l 列出局域网主机 arp-scan向局域网中所有可能的ip地址发出arp请求包,如果得到arp回应,就证明局域网中某台主机使用了该ip dc9的ip : 192.168.146.133 访问网页 cms为Debian 端口扫描 22端口是filtered 隐藏目…...

Windows系统上运行appium连接iOS真机自动化测试

步骤: 1、windows安装tidevice工具 2、Mac系统打包安装WebDriverAgent(WDA)工具 3、安装Appium 4、连接iOS手机 iOS自动化的实现和执行都依赖Mac系统,因为需要通过Xcodebuild编译安装WDA (WebDriverAgent)到iOS设备中,通过WDA实现对被测应用进行操作。而Windows系统无…...

vue3使用jsQR解析二维码

1.了解jsQR jsQR是一个纯javascript脚本实现的二维码识别库&#xff0c;不仅可以在浏览器端使用&#xff0c;而且支持后端node.js环境。jsQR使用较为简单&#xff0c;有着不错的识别率。 2.效果图 3.二维码 4.下载jsqr包 npm i -d jsqr5.代码 <script setup> import …...

李廉洋:4.10黄金原油早间走势最新分析及策略。

过去半小时&#xff08;美国&#xff09;股市的下跌是由动量股推动的。这巧妙地凸显了由于动量因素的极度拥挤而导致的高风险。通常情况下&#xff0c;这将预示着低于平均水平的市场回报&#xff0c;但由于今年势头股的表现异常出色&#xff0c;以及对冲基金对这一因素的创纪录…...

Kotlin作用域函数:let、also、run、apply、with

​​​​​​​ let函数 使用场景&#xff1a;可空变量的操作&#xff0c;无需判空 p?.let {it.name "lily"it.age "21"} also函数 使用场景&#xff1a;多个扩展函数链式调用&#xff08;返回值是本身&#xff09; p?.also {it.name "den…...

鸿蒙ArkUI开发学习:【渲染控制语法】

ArkUI开发框架是一套构建 HarmonyOS / OpenHarmony 应用界面的声明式UI开发框架&#xff0c;它支持程序使用 if/else 条件渲染&#xff0c; ForEach 循环渲染以及 LazyForEach 懒加载渲染。本节笔者介绍一下这三种渲染方式的使用。 if/else条件渲染 使用 if/else 进行条件渲染…...

https的配置和使用(以腾讯云为例)

1、注册域名 2、获取证书 3、下载证书 下载下来的证书所有格式 4、在服务器上下载nginx并配置 nginx的配置文件 如下 server {listen 80;listen 443 ssl;server_name delegate.letspiu.net.cn;ssl on; #开启ssl#指定证书位置ssl_certificate /etc/ss…...

STC89C52学习笔记(七)

STC89C52学习笔记&#xff08;七&#xff09; 综述&#xff1a;本文介绍了串口以及讲述了串口相关寄存器如何配置并给予相关代码。 一、修改代码注意事项 在修改代码时不要一次性加入一堆代码&#xff0c;不利于定位错误。可以先注释一些代码&#xff0c;待解决完毕问题后再…...

嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记16:蓝桥杯编程手册

一、要背的函数汇总&#xff08;以例子形式&#xff09; 1.GPIO相关 输出&#xff1a;HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8 | GPIO_PIN_9,GPIO_PIN_SET) 输入&#xff1a;HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_0) 翻转&#xff1a;HAL_GPIO_TogglePin(GPIOC,0xFF) 2.LCD相关 …...

doris2.0.7 安装

1&#xff0c;查看操作系统 lsb_release -a #Distributor ID: Ubuntu #Description: Ubuntu 22.04.3 LTS #Release: 22.04 #Codename: jammy 2&#xff0c;安装zip&#xff0c;mysql-client apt install mysql-client apt install zip 3&#xff0c;安装jdk apt inst…...

智慧园区水电能源监控管理系统

随着智慧城市的快速发展&#xff0c;智慧园区作为城市智能化的重要组成部分&#xff0c;其能源监控管理系统显得尤为关键。智慧园区水电能源监控管理系统&#xff0c;是利用先进的信息技术和自动控制技术&#xff0c;对园区内的水电能源使用进行实时监控、管理和优化的综合性智…...

Kafka基础/1

Kafka 概念 Kafka 是一个分布式的流媒体平台。 应用&#xff1a;消息系统、日志收集、用户行为追踪、流式处理 特点&#xff1a;高吞吐量、消息持久化、高可靠性、高扩展性 术语&#xff1a; broker&#xff1a;Kafka 的服务器&#xff0c;Kafka 当中每一台服务器&#xf…...

Jupyter Notebook中常见的快捷键

Jupyter Notebook的快捷键主要分为两种模式&#xff1a;命令模式和编辑模式。 在命令模式下&#xff0c;键盘输入用于运行程序命令&#xff0c;此时单元格框线是蓝色的&#xff1b; 在编辑模式下&#xff0c;可以往单元格中键入代码或文本&#xff0c;此时单元格框线是绿色的…...

《前端面试题》- JS基础 - call()、apply()、bind() 的区别

call 、bind 、 apply 这三个函数的功能都是改变this的指向问题&#xff0c;但是也存在一定的区别。 call 的参数是直接放进去的&#xff0c;第二第三第 n 个参数全都用逗号分隔,apply 的所有参数都必须放在一个数组里面传进去bind 除了返回是函数以外&#xff0c;它 的参数和…...

开源软件技术社区方案

开源软件技术社区是一个由开发者、贡献者、用户和维护者组成的共享平台&#xff0c;主要目的是打造技术、软件产品良性互动、开源技术安全可控的软件生态环境&#xff0c;实现可复用应用或服务的快速部署与使用、完成资源与能力的高度共享、促进社区成员的共建共赢&#xff0c;…...

【开源书籍】深入讲解内核网络、Kubernetes、ServiceMesh、容器等云原生相关技术。

项目地址&#xff1a;GitHub - isno/theByteBook: ⭐ 【开源书籍】深入讲解内核网络、Kubernetes、ServiceMesh、容器等云原生相关技术。经历实践检验的 DevOps、SRE指南。如发现错误&#xff0c;谢谢提issue 深入架构原理与实践 这是什么&#xff1f; 这是一本关于架构设计…...

【C语言】“vid”Microsoft Visual Studio安装及应用(检验内存泄露)

文章目录 前言安装包获取配置VLD完成 前言 我们在写代码时往往容易存在内存泄漏的情况&#xff0c;所以存在这样一个名为VLD的工具用来检验内存泄漏&#xff0c;现在我来教大家安装一下 安装包获取 vld下载网址&#xff1a;https://github.com/KindDragon/vld/releases/tag/…...

Accuracy准确率,Precision精确率,Recall召回率,F1 score

真正例和真反例是被正确预测的数据&#xff0c;假正例和假反例是被错误预测的数据。然后我们需要理解这四个值的具体含义&#xff1a; TP&#xff08;True Positive&#xff09;&#xff1a;被正确预测的正例。即该数据的真实值为正例&#xff0c;预测值也为正例的情况&#xf…...

系统架构最佳实践 -- 智慧图书管理系统架构设计

随着数字化时代的到来&#xff0c;智慧图书管理系统在图书馆和机构中扮演着重要的角色。一个优秀的图书管理系统不仅需要满足基本的借阅管理需求&#xff0c;还需要具备高效的性能、良好的扩展性和稳定的安全性。本文将讨论智慧图书管理系统的架构设计与实现&#xff0c;以满足…...

网络基础三——IP协议补充和Mac帧协议

全球网络及网段划分的理解 ​ 根据国家组织地区人口综合评估进行IP地址范围的划分&#xff1b; ​ 假设前8位用来区分不同的国家&#xff0c;国际路由器负责全球数据传输&#xff0c;子网掩码为IP/8&#xff1b;次6位区分不同的省份&#xff0c;国内路由器负责全国数据的传输…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...