认识漏洞笔记1

0x1 认识漏洞

1. 什么是漏洞

无论是安全渗透还是CTF,本质上都是对现在有信息资产的非预期使用,用户通过技术手段,访问或者修改到本不应该访问到的数据,执行不应执行的代码

2. 漏洞产生的原因

漏洞的产生原因有多方面造成,例如:

  • 设计缺陷
  • 逻辑错误
  • 代码bug
  • 越权漏洞
  • 其他

3. 漏洞利用四种方式

失能

低级危害的利用方式,损人不利己,仅仅是让对方资产暂时失去服务功能,一般不会有其他的损失。
更偏向对对方的名誉及形象进行破坏,技术上损失小,无形资产损失大

读取

中级危害的利用方式,读取目标资产中的敏感数据,例如sql注入对数据库的敏感信息,密码,不对外的文档等

写入

高级危害的利用方式,不仅能够读取目标中的敏感数据,还可以通过写入数据来篡改目标数据,修改目标对外页面。利用危害性、影响性巨大,属于高危漏洞

执行

最高级别危害的利用方式,可以再目标资产上执行任意命令,完全控制。

4. web题目做题思路

目标即读取flag字符串,这个字符串可能会存在目标主机的某个文件中,也可能存在数据库中,也可能存在于某些高权限内网的其他位置。

第一步

判断,判断利用漏洞方式为读取、写入还是执行。
从低到高依次挖掘:先找文件读取、文件写入、命令执行
确定方向

第二步

判断漏洞类型,大致考点(有登录逻辑尝试sql注入,有下载逻辑就尝试文化读取,给源码就做代码审计等)
这一步确定具体利用思路,实现漏洞利用

第三步

寻找敏感数据,拿到最后flag

0x2 漏洞利用之信息泄露

1. 信息泄露类型

2. 信息泄露漏洞利用

http头信息泄露

区别/admin//admin

  • /admin/表示访问的是admin目录,会默认访问目录里的索引文件,比如index.html或者index.php
  • /admin表示访问admin文件,如果没有这个文件,就直接返回404,不会去寻找索引文件

有些情况下加不加斜杠都能访问到/admin/,是因为配置文件里面进行了设置。

区别路由,目前网站主流都是基于路由的

  • /user这里则表示访问的是usr路由,而不是访问user这个文件,需要根据server头来推断,比如php、asp、jsp、aspx、html、shtml这些后缀,是基于文件的。

那些看起来没有后缀的,或者类似于/user/login?username=admin&password=123这种形式,则是基于路由的,这个需要多次判断。

  • 200表示正常
  • 301 302 表示跳转
  • 404 表示文件不存在
  • 500 表示服务器内部错误web
  • 502 表示转发失败 error gatwary

即使通过.php方式打开页面,也无法确定是基于文件还是基于路由的,基于路由的web服务器会出现所见非所得的情况,即访问index.php返回的内容不一定是index.php这个文件的解析结果,而可能是这个路由的结果,所以到现在还不能确定是否存在index.php

2.报错信息泄露

想办法让网站报出信息,会包括数据库、某些包的信息泄露

3.页面信息泄露

百度页面的彩蛋
2024-07-08T04:37:03.png
京东页面的菜单
2024-07-08T04:38:59.png

4.robots.txt敏感文件泄露

robots.txt称为机器人协议、爬虫协议,面向爬虫
可以从中发现一些路径可以从中发现
例题web1

  • robots.txt可能会造成一些不想对外的文件或者路径泄露
  • 有些网站是没有robots.txt的
  • robot.txt 内容不一定是真实的,也可能是对方在钓鱼,蜜罐

5. .git文件泄露

git是一个版本控制系统(fangzhi)
多个开发不能并行开发,只能串行开发 -> 堵塞&低效
于是通过版本控制系统来解决
保存提交记录的文件夹名字为.git。在Linux系统中是隐藏文件,如果不注意,很可能复制到web目录。那么作为恶意用户,就可以浏览下载.git目录里面的文件,分析它的提交过程。
于是有利用工具应运而生,专门解析提交记录,来获取提交的文件内容。
Hithack来运用.git漏洞
例题web2

6. 搜索引擎收录泄露

对于没有生成robots.txt的站点,搜索引擎可能会将敏感页面进行收录,使用搜索引擎语法

  • baidu:intitle:后台登陆
  • fofa:title="文件上传"

7. 信息泄露总结

信息泄露考点:

  1. robots.txt泄露(里面会有可疑路径或者敏感文件名称)
  2. git/svn 泄露(访问.git或者.svn目录出现403)
  3. 页面注释泄露(右键查看源代码)、http头泄露(类似百度的BWS/1.1)
  4. 任意文件下载造成的信息泄露(可以下载WEB-INF文件夹里内容)
  5. 开源社区信息泄露,例如:泄露出项目名称,而整个项目代码可以在github、gitee等找到
  6. 使用vim异常退出,可能存在类似.index.php.swp临时文件

0x3 Bp与爆破

抓包监控,用发包控制进行重发
爆破例题web3
不到万不得已不爆破
字典爆破例题web4
http爆破例题web5

本文链接:

https://youngking.xyz/index.php/archives/408/