代码编织梦想

目录

信息收集

web1:【where is flag】

web2:【无法查看源代码】

 web3:【where is flag】

web4:【robots】

web5:【phps文件泄露】

 web6:【网站源码泄露】

web7:【git】

 web8:【svn泄露】

web9:【vim缓存泄露】

 web10:【cookie】

 web11:【域名解析】

web12:【网站公开信息=管理员常用密码】

web13:【技术文档里的敏感信息】

web14:【editor】

 web15:【公开的邮箱】

 web16:【探针】

 web17:【sql备份文件】

web18:【unicode转码】

 web19:【密码放在前端】

 web20:【数据库文件泄露】


信息收集

web1:【where is flag】

打开开发者工具

web2:【无法查看源代码】

ctrl+u或者开发者工具·都可以

 web3:【where is flag】

直接抓包,查看响应包

web4:【robots】

Robots协议:也称为爬虫协议、机器人协议等,其全称为“网络爬虫排除标准",它通常是一个叫做robots.txt的文本文件,一般放在网站的根目录下。网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

先抓包,发现响应包里面并没有flag,查看网站下有没有robots.txt,发现有,并发现flag存放位置继续访问改文件即可得到flag

 

web5:【phps文件泄露】

.phps为后缀:phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。只要不用php等已经在服务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用了phps文件类型。

直接访问url/index.phps可以下载网站的php源代码文件,打开即可。

MIME类型:MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式.

 web6:【网站源码泄露】

原因:一般网站管理员在日常维护中,总会把网站源码给备份一下,防止网站出现问题时,能马上的恢复使用,不过一般的管理员安全意识不高,在备份的时候,会使用一些常见的压缩备份名,而且不光使用常见的备份名字,大部分的管理还会把备份好的源码直接放在网站根目录里

常见备份文件后缀:.rar      .zip      .7z      .tar      .gz      .bak      .txt      .old       .temp

web7:【git】

1)git:Git是目前世界上最先进的分布式版本控制系统,可以记录文件的每一次改动

 2)版本库:简单理解为一个目录,这个目录里面的所有文件都能被git管理起来,每个文件的删除、修改都能被git追踪。

3)git版本控制主要作用

  • 记录文件的所有历史变化
  • 错误恢复到某个历史版本
  • 多人协作开发编辑同一个文件

3).git文件导致源码泄露原理:开发人员在开发时,常常会先把源码提交到远程托管网站(如github),最后再从远程托管网站把源码放到服务器的web目录下,攻击者可以利用这个目录,去下载.git如隐藏文件夹,如果忘记把.git文件删除,就造成此漏洞。利用.git文件恢复网站的源码,而源码里可能会有数据库的信息。

5)如果在文件夹中存在了index.php文件的情况,一般服务器会默认直接解析这个文件,删除index.php以后,就会出现该文件夹中全部的可访问文件目录了(??)

 web8:【svn泄露】

1)svnSVN是源代码版本管理软件。使用SVN管理本地代码过程中,会生成一个名为.svn的隐藏文件夹,其中包含重要的源码信息。原因:网站管理员在发布代码时,没有使用导出功能,直接进行复制粘贴。这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。”(可以利用.svn/entries文件,获取到服务器源码、svn服务器账号密码等信息)

2).svn漏洞利用:添加网站url在被利用的网址后面加 /.svn/entries,列出网站目录,甚至下载整站。

3)漏洞修复方法:在web服务器配置文件中增加一段代码,过滤到.svn文件,返回404

4)防御:开发人员在使用SVN时,严格使用导出功能。禁止直接复制代码。

查看隐藏的文件夹即可得到flag

web9:【vim缓存泄露】

1)vim:vim是linux自带且常用的文件编辑器,vim在编辑时会生成一个隐藏的临时文件
当vim异常退出时这个文件就会被保留下来,产生缓存文件,缓存会一直停留在服务器上,引起源码泄露,第一次产生的缓存文件后缀为.swp,后面会产生swo, vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果原文件名是submit,则它的临时文件——.submit.swp如果文件正常退出,则此文件自动删除。

2)index.php:入口文件

 web10:【cookie】

1)Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在HTTP响应消息头中附带传送给浏览器的一个小文本文件。上网时都是使用无状态的HTTP协议传输出数据,这意味着客户端与服务端在数据传送完成后就会中断连接。这时我们就需要一个一直保持会话连接的机制。在session出现前,cookie就完全充当了这种角色。也就是,cookie的小量信息能帮助我们跟踪会话。一般该信息记录用户身份

2)原理:客户端请求服务器时,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。而客户端浏览器会把Cookie保存起来。当浏览器再请求服务器时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器通过检查该Cookie来获取用户状态

抓包查看响应头中的cookie,发现flag格式不太对,用url解码后得到flag[bp自带了编码解码工具]

 web11:【域名解析】

打开dbcha.com输入想要解析的域名即可

域名也可以隐藏信息!!!!!

 

dns域名解析中添加各项解析记录:

1)A记录/ip记录[只有IP]: 将域名指向一个IPv4地址

 2)CNAME记录: 如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录。这个域名一般是主机服务商提供的一个域名

 ……………………………………………………………………

web12:【网站公开信息=管理员常用密码】

根据提示,查看robots.txt看到用户名为admin,页面最下方电话号码即为密码,登录即得到flag

web13:【技术文档里的敏感信息】

发现只有document有链接,点进去看看

打开登录地址连接发现无法访问,因为开发系统或者这个技术文档,并不是一个人用,他们面向的域名会不一样,your-domain代表部署后的地址

your-domain:网域,在这里应该是ctfshow的地址,故修改

 

web14:【editor】

绝对路径是指文件在硬盘上的真实路径,而相对路径指的是相对于另一个文件来书,本文件的路径。在做web项目时应该采用相对路径,绝对路径容易造成文件的寻找失败

根据题目提示,查看编辑器editor,点开插入文件发现有文目录………………………………………一系列操作,在tmp/html/nothinghere/fla000g.txt发现了flag

访问该文件(用绝对路径),发现并不是想要的flag,说明路径不是很正确,这里使用相对路径试试(?)

 web15:【公开的邮箱】

根据题目提示,访问admin,发现一个登陆界面,用户名admin,密码就是首页下面的QQ邮箱(前面的web12中做过,网站公开信息很可能就是管理员常用密码),登录后显示密码错误,返回点击忘记密码,就会进行一个问题验证——所在城市;用qq去加一下QQ邮箱上面QQ发现是西安,输入,得到重置密码,登录即得到flag

 

 

 web16:【探针】

php探针: php探针是用来探测空间、服务器运行状况和PHP信息用的,探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息。

php探针的功能:
1、服务器环境探测:CPU、在线时间、内存使用状况、系统平均负载探测,操作系统、服务器域名、IP地址、解释引擎等 ;
2、PHP基本特征探测:版本、运行方式、安全模式及常规参数;
3、自定义探测:MYSQL连接测试、MAIL发信测试、函数支持情况及PHP配置参数。

……………………………………

根据提示,在url后面加/tz.php,发现在phpinfo初有个链接,打开,在出现的页面中查找flag即可

 web17:【sql备份文件】

根据提示,访问备份的sql文件(即url+backup.sql),打开文件即可看到flag…………

*.sql文件是mysql数据库导出的备份文件

web18:【unicode转码】

    unnicode编码:(统一码、万国码、单一码),Unicode是为了解决传统字符编码方案的局限而产生的,为每种语言中的每个字符都设定了统一唯一的二进制编码【计算机只能识别二进制数字】,以实现跨语言、跨平台进行文本转换、处理的要求。

根据提示,分析源码,查看js文件:Flappy_js.js,发现了一段不认识的编码[unicode编码]

 去菜鸟工具里面将这个Unicode编码转码看看,“去110.php看看”,

 web19:【密码放在前端】

根据提示,查看源码,发现需要提交两个参数——用户名和密码,只要参数符合要求,就会获得flag,抓包,修改参数值,用post请求提交符合条件参数,查看响应包即可获得flag

 

 

 

 

 web20:【数据库文件泄露】

1)mdb格式文件是一个数据库文件,它是Microsoft Access软件生成的一种存储格式

2) Access数据库的存储隐患是在ASP+Access应用系统中,如果获得或者猜到Access数据库的存储路径 和数据库名,则该数据库就可以被下载到本地。由于Access数据库的加密机制非常简单,所以即使数据库设置了密码,解密也很容易。由于ASP程序采用的是非编译性语言,这大大降低了程序源代码的安全性。任何人只要进入站点,就可以获得源代码,从而造成ASP应用程序源代码的泄露。

3)在数据库名称里加上#号,从URL上请求时#是请求地址和请求参数的一个分隔字符,如果知道了数据库名,直接请求的话,如:http://www.xx.com/access#.mdb,WEB服务器会认为请求的是access而不是access#.mdb,所以会提示找不到文件,但是URL中对于这些特殊的字符都会有一个特殊的表示方式,#的特殊表示就是%23,如http://www.xx.com/access%23.mdb,那么access#.mdb将会被下载。还有如果用FlashGet之类的下载工具也可以直接下载。

4)防止数据库被下载的方法:
1.在数据库新建一个表,表名为<%safe就可以了 ,这样iis在解析的时候会出现500错误,数据库也就下载不了了!

注:. 造成500错误常见原因有:

  • ASP语法出错
  • ACCESS数据库连接语句出错
  • 文件引用与包含路径出错(如未启用父路径)
  • 使用了服务器不支持的组件,如FSO等。

2.在你的数据库文件名后门加上# (不是扩展名,比如name#.mdb)这样iis就以为你是在请求该目录中默认的文件名,比如index.asp,如果iis找不到就会发出403禁止浏览目录的错误警告!

3.在iis中是把数据库所在的目录设为不可读,这样就可以防止被下载!这样做不会影响asp程序的正常使用

*4.直接使用数据源 (ODBC)这样数据库就可以不用在web目录里面,从而彻底防止被下载,但是这样做你必须拥有服务器的管理员权限,但是,大部分虚拟主机用户是不可能用数据源 (ODBC)的!  

4.1)IIS【建网站用的】是Internet Information Services英文全称的缩写,是一个World Wide Web server服务。IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。

根据题目提示,访问db/db.mdb,下载文件用记事本打开并查找flag即可

 

 

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/nidaxin/article/details/122607883

CTF show WEB 1-4-爱代码爱编程

题目网站https://ctf.show 1.web签到题 直接源代码查看 2.web2 直接尝试万能密码,登陆成功 order by查找回显数 在3时正常回显,4是无回显,说明回显数为3 使用union select 联合查询爆库名 爆表名 爆字段 爆flag值 3.web3 打开网站提示输入url,测试/etc/passwd成功显示,

CTFshow web1-爱代码爱编程

题目地址:https://ctf.show 扫描后台拿到源码(www.zip)。打开login.php能禁的基本都禁干净了,登录页面貌似没有注入的可能。reg.php也是如此,所以注册页面也没可能了。剩下最后一个就是显示信息的页面了。这里可以看到在数据库中是把所有的字段(包括密码)都给查出来了,但是没有显示密码的地方。 我们可以利用?order=pwd来

CTFSHOW WEB_AK赛-爱代码爱编程

题目地址http://ctf.show 目录 签到_观己web2_观星web3_观图web4_观心web1_观字 签到_观己 既然是签到,那我们就去猜一下flag的位置以及文件名 payload:file=/flag.txt 结束 如果猜不到呢?1、伪协议 尝试用伪协议中的data(具体伪协议的用法可参考https://blog.csdn.ne

CTF show WEB10-爱代码爱编程

题目地址:https://ctf.show 打开页面点击取消按钮,出现源码。$regex = "/(select|from|where|join|sleep|and|\s|union|,)/i"; 从源码中可以得知几乎把注入用到的关键词过滤的差不多了。 如果只有这一条现在可以采用双写绕过,但是下面这条限制,使得无法双写绕过 if(strlen($use

CTF SHOW web入门 信息收集-爱代码爱编程

CTF SHOW web入门 信息收集 正文 (每一个代码块就是一个题的知识点,题序正常)()里的表示题目信息 1、(开发注释未及时删除) 2、(js前台拦截 === 无效操作) 查看源代码:通过在url头部添加 view-source: 3、简单burpsuite抓包 flag在响应数据包里面 4、(把后台地址写入robots了。

CTFshow-web入门爆破(21-28)-爱代码爱编程

目录 web21web22web23web24web25web26web27web28 web21 用burp抓包 输入的账户名和密码被base64加密了,用burp自带解密发现账户名和密码之间用冒号隔开了,接下来构造payload 分别选中账户名和密码,我这里选择把冒号放到了账户名那里,放到密码也可以,只是一会儿加前缀和后缀的区别 pay

CTFshow-web -入门签到-爱代码爱编程

CTFshow Web web签到题 F12 web2 先抓包然后按照流程跑 把之前抓取的数据复制到sqlmap根目录下test.txt内 保存完成后开始跑数据库名 python2 sqlmap.py -r test.txt --dbs 跑数据库内数据表 python2 sqlmap.py -r test.txt -D

CTFshow_web入门_信息收集(web1-20)-爱代码爱编程

写了好多题一直没有及时总结和反思,CTF也停了很长一段时间没学习了,现在到了寒假终于有时间了,于是又重新写了一遍,也当是复习了,就把解题过程都放到这里了 web1 f12查看源码 看到注释里的flag web2 无法查看源码 1.由于第一题我按了f12,所以访问这题的时候默认看到了源码,得到flag 2.在网址前面加 view-source: 3.

ctfshow 代码审计-爱代码爱编程

web301-- sql注入 这里看了一下文件发现,就一些登入页面文件 然后简单看了一下文件,定位到checklogin.php这个文件,做个简单的代码审计 <?php error_reporting(0); session_start(); require 'conn.php'; $_POST['userid']=!empty($_POST[

CTFSHOW-WEB详解-爱代码爱编程

CTFSHOW-WEB详解 一、WEB13--文件上传二、WEB-红包题第二弹 一、WEB13–文件上传   开始的界面就是文件上传,确定方向为文件上传漏洞分析,尝试上传文件,我上传的第一个文件是一个文本文件很小只有9个字节,就上传成功了直接,还以为会按往常一样出现绝对路径又或者提示只能上传别的格式文件,然后我们通过绕过,接着使用蚁剑连接直接

ctfshow 做题 web 方向 web1~web10-爱代码爱编程

ctfshow 做题 web 方向 —— web1 签到题 打开环境,页面中就一句话:where is flag ? F12 查看源代码,注释中一串字符,猜测为 base64 编码。 base64 解码得 flag 。 —— —— web2 题目描述:最简单的 sql 注入。 打开环境是一个登录界面。 注入点应该就是用户名、密码的位置了。 用

CTFSHOW WEB练习-爱代码爱编程

-----萌新计划web----- web1 分析:需要满足id=1000,同时intval($id) > 999要返回false(intval是将变量取整(注:如果变量是小数,那么变量小数位不能为0,如果为0,会被认为是整数)) 方法一:使用’1000’字符串('1000’进行intval后还是1000) 方法二:125&

ctfshow信息搜集笔记(1-18)-爱代码爱编程

ctfshow用字典是跑不出来的。 1.开发注释未及时删除 :按F12,在查看器里面。 2.js前台拦截 === 无效操作:BP拦截,转到repeater,进行转发。 查看源代码 通过在url头部添加 view-source:view-source是一种协议,在浏览器上直接查看网站源码。 3.没思路的时候抓个包看看,可能会有意外收获:BP拦截,转到repe

CTF解题记录-Web-robots协议(附靶场链接)-爱代码爱编程

题目已经提示的很明显了,这题肯定是有关robots协议,打开题目场景 是一个空白页,在 url后加上/robots.txt 出现页面 再将 url中的 /robots.txt 换成 /f1ag_1s_h3re.php   得到flag! 靶场链接:https://adworld.xctf.org.cn/task 知识点补充:Rob

ctfshow--web入门题目1-20-爱代码爱编程

web-1 where is flag? 此题直接点击F12,查看其源代码就可以找到flag ctfshow{1121142c-011b-43e7-9268-7bc9b5024a75}2.web-2无法查看源代码: 从更多工具里面有一个开发人员工具,打开点击索引就可以找到flag ctfshow{d73c7c81-36de-42e9-bbc5-13a9b2

ctfshow命令执行-爱代码爱编程

目录 web33:【文件包含】  web34:  web35:  web36:多过滤了0-9的数字,用参数逃逸可以不用数字,用字母就可以成功绕过 ,步骤一样,略 web37: web38:  web39:  web40:[无参函数构造]  web41:【待续】  web42:【/dev/null黑洞&截断符】  web43:【

ctfshow web入门(一) 已完结-爱代码爱编程

ctfshow web入门 前言一、信息收集 web2二、信息收集 web3三、信息收集 web4四、信息收集 web5五、信息收集 web6六、信息收集 web7七、信息收集 web8八 、爆破 web21九 、爆破 web22十、爆破 web23 前言 由于太菜了,所以最近要多做点题 一、信息收集 web2 题目: 题目提示js前台拦