ctfshow学习记录-web入门(信息收集1-10)


web1

解答:右击,查看源码;f12;ctrl+u


web2

解答:ctrl+u可以看到flag。
进一步学习:无法右键,无法选择文本,无法f12。
ctrl+u看到源码内容是:

<script type="text/javascript">
	window.oncontextmenu = function(){return false};
	window.onselectstart = function(){return false};
	window.onkeydown = function(){if (event.keyCode==123){event.keyCode=0;event.returnValue=false;}};
</script>

oncontextmenu 事件:在元素中用户右击鼠标时触发并打开上下文菜单。
(上下文菜单(context menu),指的是Windows操作系统中任何地方右击鼠标会出现俗称的“右键菜单”)
onselectstart事件:触发时间为目标对象被开始选中时(即选中动作刚开始,尚未实质性被选中)
onkeydown事件:在用户按下一个按键时执行Javascript代码
keyCode表示键盘编码,编码123为f12。

//取消鼠标右键
window.oncontextmenu = function(){return false};
//禁止用户选中网页上的内容
window.onselectstart = function(){return false};
//按键f12无响应
window.onkeydown = function(){if (event.keyCode==123){event.keyCode=0;event.returnValue=false;}};

键盘编码
在这里插入图片描述


web3

解答:burp抓包,response有flag
在这里插入图片描述进一步学习

http请求构成
请求行
请求头部
空行
请求数据

在这里插入图片描述
在这里插入图片描述
请求行3个字段构成:请求方法、uri字段、HTTP协议版本字段
在这里插入图片描述

请求方法
GET:从指定资源中请求数据。
POST:向指定资源发送数据进行处理请求。
HEAD:从指定资源中请求响应消息报头(传输状态行和标题部分)。
PUT:向指定资源位置上传其最新内容,可以替换指定资源中的当前内容。
DELETE:请求服务器删除指定资源。
CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。开启一个客户端与所请求资源之间的双向沟通的通道。它可以用来创建隧道(tunnel)。
OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求。
TRACE:路径追踪。请求服务器回送收到的请求信息,主要用于测试或判断。

请求头部

Header头部解释
Host指定请求的服务器的域名和端口号
Content-Length请求的内容长度
Accept指定客户端能够接受的内容类型
X-Requested-WithAjax异步请求
User-Agent发出请求的用户信息
Content-Type请求的与实体对应的MIME信息
Origin指明当前请求来自哪个站点
Referer先前网页的地址,当前请求网页紧随其后
Accept-Encoding指定浏览器可支持的web服务器返回内容压缩编码类型
Accept-Language浏览器可接受的语言
CookieHTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
Connectiont表示是否需要持久连接(HTTP 1.1默认进行持久连接)
Date请求发送的日期和时间
X-Forwarded-For它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。(HTTP_X_FORWARDED_FOR)
Via通知中间网关或代理服务器地址,通信协议。(例:Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1))
Clinet-IP用户真正IP地址。接收变量HTTP_CLIENT_IP
From发出请求的用户的Email

响应消息状态码

状态码解释
1xx指示信息–表示请求已接收,继续处理
2xx成功–表示请求已被成功接收、理解、并接受
3xx重定向–需要后续操作才能完成这一请求
4xx客户端错误–请求有语法错误或请求无法实现
5xx服务器端错误–服务器在处理某个正确请求时发生错误
状态码解释
200OK,客户端请求成功
301永久重定向。表示所请求的资源已经永久地转移到新的位置,Location字段表示重定向后的资源新位置
302url跳转。临时重定向
400Bad Request,客户端请求有语法错误,不能被服务器所理解
401Unauthorized,请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用
403Forbidden,服务器收到请求,但是拒绝提供服务
404Not Found,请求资源不存在
405Method Not Allowed(客户端错误)由于方法和资源组合不正确而出现此错误。 例如,您不能对一个实体集合使用 DELETE 或 PATCH
412Precondition Failed 客户端错误
500Internal Server Error,服务器发生不可预期的错误
503Server Unavailable,服务器当前不能处理客户端的请求,一段时间后可能恢复正常

web4

解答:(后台地址泄露)查看robots.txt
在这里插入图片描述查看/flagishere.txt,获取flag。

进一步学习

robots.txt是存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器,此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。(详见百度百科robots协议


web5

解答:(phps源码泄露)查看index.phps,下载index.phps后打开获取flag。
进一步学习

phps文件是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。(phps文件


web6

提示:解压源码到当前目录,测试正常,收工
解答:(源码泄露)存在源码的压缩包没有删除,访问/www.zip。知道了flag所在txt的文件名和路径,直接访问/fl000g.txt

进一步学习

网站管理员一般会将网站源码进行备份,以便于出问题后恢复网站。但备份时,安全意识薄弱的管理员经常会使用一些常见的压缩备份名,如文件夹的名字www.zip、web.rar,或者backup.rar等,有的甚至就直接把备份好的源码放了在网站根目录里。
常见备份后缀名:.rar.zip.7z.tar.gz.bak.txt.old.temp


web7

提示:版本控制很重要,但不要部署到生产环境更重要。
解答:(git泄露)关于版本控制,首先想到的是git泄露。访问/.git,获取源码。
进一步学习

版本控制
版本控制器
目前影响力最大且使用最广泛的是Git(分布式版本控制系统)与SVN(集中式版本控制)。
版本控制中的最基本的模块是 “仓库(Repository)”。仓库里存储了项目积攒的所有版本和元数据。在 Git 中,仓库是项目的根目录下名为 “.git” 的隐藏文件夹。


web8

提示:版本控制很重要,但不要部署到生产环境更重要。
解答:(svn泄露)访问 /.svn, 得到 flag


web9

提示:发现网页有个错别字?赶紧在生产环境vim改下,不好,死机了。
解答:(vim缓存信息泄露),访问index.php.swp
(按理应该是访问.index.php.swp,这里没有前面的.,稍稍有点小问题,理解知识点就可以了)
进一步学习

vim在编辑文本时就会创建临时缓存文件,用来备份缓冲区中的内容。当程序异常退出时会被保留下来,因此可以通过该缓存文件恢复原始文件内容。
VIM不正常退出产生的swp文件


web10

提示:cookie 只是一块饼干, 不能存放任何隐私数据
解答:burp抓包可以在请求头看到cookie,也可以从firefox中的插件直接看。
在这里插入图片描述

进一步学习

cookie和session的区别


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值