实验室任务三

实验室第三周任务

一、PHP2

1.进入题目所给网址后,可得如下语句:Can you anthenticate to this website? 意为:你能认证到这个网站吗?

2.因为此题是关于php语言的,所以我们可以尝试在网址后加上index.phps来查看该网址的php源代码。输入后可得以下代码:

3.分析该代码:

第一行是php代码的开头标记,表示php代码的开始。

第二行检查通过url传递的“id”参数的值是否等于“admin”。如果它相等,则使用“echo”函数显示消息“not allowed!”并使用“exit”函数退出脚本。这是为了网址未经授权访问网站的管理员界面。

第六行使用“unldecode”函数解码“id”参数的url编码值。

第七行检查“id”参数的解码值是否等于“admin”。如果它相等,则使用“echo”函数显示消息“Access granted!”和一个“key”。

咱们的目标就是这串代码中的“key”了。

4.unldecode函数:

urldecode() 是一个 PHP 函数,用于解码 URL 编码字符串。在 URL 中,一些字符是有特殊含义的,例如空格、问号、等号等。如果需要在 URL 中使用这些字符,就需要对其进行编码,将其转换成特定的编码格式。例如空格会被编码成 %20。urldecode() 函数可以将这些编码格式的字符解码回原始字符,以便使用或显示。

在所给的php代码中,unldecode()函数用于解码传递的“id”参数的url编码值,以便后续判断“id”参数的值是否等于“admin”。因此我们要对“admin”进行url解码,得到:%61%64%6d%69%6e。又因为浏览器本身会进行一次url解码,所以我们其实需要进行两次url解码,即%61%64%6d%69%6e在进行一次url编码,得到%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65

5.将所得的url解码输入到网址后面,即可得到所要求的key。

二、backup

PHP备份文件名

PHP 脚本文件的备份文件名,通常采用以下命名方式:

1.在原始文件名后添加日期时间戳。例如,如果要备份名为 index.php 的文件,则可以将其备份文件命名为index_20230521_004017.php。这里的20230521表示备份文件创建的日期,而004017表示备份文件创建的时间(小时、分钟和秒)。

2.使用bak或backup作为备份文件的后缀名。例如,可以将备份文件的文件名设置为 index_backup.php、index.bak 或 index_php_backup.php 等。这些名称可以更清晰地表明文件的类型,而不是日期和时间戳。

3.将备份文件保存到特定目录中,如 backups、backup 或 backup_files 中,并在备份文件名中包含日期和时间戳等信息,以便更容易识别和组织这些备份文件。

备份文件漏洞成因

1.访问控制不当:如果备份文件存储在 Web 服务器的目录下,并没有经过安全保护和访问控制,则其他人可以通过** URL 或者搜索引擎**的方式来直接访问到这些文件,导致备份文件被公开。

2.缺乏加密保护:如果备份文件没有进行加密处理,那么即便被存储在 Web 服务器的目录下,也有可能被未经授权的人员下载或者访问,从而造成数据泄露。

3.备份文件命名规范不当:如果备份文件没有按照规范的方式命名,或者文件名中包含了敏感信息,例如用户名、密码等,那么这些信息可能被未经授权的人员获取从而导致泄露。

备份文件名常用后缀

备份文件的后缀名应当反映出其所使用的压缩算法或格式,以便需要时能够轻松地识别和解压缩文件。一些常用的备份文件格式和后缀名包括:

rar:RAR 压缩算法格式,使用 WinRAR 或其他支持的工具进行解压缩。

zip:ZIP 压缩算法格式,使用 WinZip、7-Zip 等工具进行解压缩。

7z:7-Zip 压缩算法格式,使用 7-Zip 工具进行解压缩。

tar.gz 或 .tgz:tar (tape archive) 打包格式和 gzip 压缩算法结合使用的备份文件格式,可以使用 tar 和 gunzip 工具进行解压缩。

bak:一般用于表示原始文件的备份副本,不一定需要使用特定的压缩算法或格式。

swp:Vim 编辑器使用的临时交换文件格式,通常不用于表示备份文件。

txt:纯文本格式,通常不用于表示备份文件,但可以将备份文件的内容存储为文本文件进行备份。

sql:SQL 数据库脚本文件,用于备份数据库中的数据和结构等信息。

备份 index.php 文件,可以将其保存为 index_bak.zip、index_backup.tgz、index.rar 等格式的备份文件

1.通过题目可知此php备份的文件名是以“bak“为后缀的,所以在网址后输入/index.php.bak,后得到一个文件。

2.用记事本打开该文件即可得到本题的flag。

三、weak_auth

1.该网页让我们输入用户名和密码,我们随即输入后,弹出窗口让我们以”admin“作为用户名。我们再用admin作为用户名在输入一遍,弹出窗口说我们密码错误。

                               

2. 接下来没有提示了,但是我们发现输入错误后他不会返回最开始的界面,而是没有后续了,所以我们不妨打开控制台看看元素。结果发现有一行绿色的字”maybe you need a dictionary“你需要一本字典。这下就明了了,是要让我们进行爆破。

3.接下来使用burp对该网页进行爆破:

4. 爆破后我们发现123456为密码,输入后便可得到本题答案。

四、simple_php

进入网页后得到以下内容,我们对这段php代码进行分析:

1.定义了两个参数a&b,其中当a=0并且ture时可以输出flag1;当b为数字并且大于1234时可以输出flag2。所以我们应当使a=0,b大于1234。但当我们只输入a=0时,无法得到flag1,这说明a=0时是fales的,所以我们应该输入a=0+任意字母因为php是弱类型的语言,“==”仅表示数值相等,而且当数字和字母组成的字符串与数字进行比较时,仅会以最前面的数字参与比较。所以a=0asdf,a=0qwer的结果都是一样的,即a=0。)。当我们只输入b=大于1234的数字时,无法得到flag2,这说明b=纯数字时是fales的,所以需要我们后面加上字母。

2.所以这里我们输入a=0asdf&b=9999asdf,即可得到本题答案。

五、baby_web

1.进入页面后,我们可以发现网址后缀为/1.php,但根据我们所熟知的,一般都为/index.php,再结合题目所给的web,我们可以猜测这道题需要进行burp抓包。

2.因此我们进行抓包,并且发送到Repeater,并将其中的/1.php改为/index.php,再次send,即可得到本题的flag。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值