web入门1

发布于 2022-07-20  1047 次阅读






web入门

密码学卷不动哩,学web辣。

刷ctfshow哩

信息收集

web1

F12看源码就有

web2

通过Ctrl+U或者在url前面添加view-source:可获得flag

或者使用burpsuite抓包,抓到包后ctrl+r进response,然后发包,就可以看到返回的源码,拖到下面有flag

web3

同上,通过bp抓包查看Response中的Headers即可获得flag

web4

robots协议,robots协议也称爬虫协议、爬虫规则等,是指网站可建立一个robots.txt文件来告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,而搜索引擎则通过读取robots.txt文件来识别这个页面是否允许被抓取。但是,这个robots协议不是防火墙,也没有强制执行力,搜索引擎完全可以忽视robots.txt文件去抓取网页的快照。

访问/robots.txt,接着访问flagishere.txt,即可获得flag

这题使用的 robots.txt (统一小写)是一种存放于网站根目录下的ASCII编码的文本文件。
常见的一些备份文件:

.index.php.swp
index.php.swp
index.php.bak
.index.php~
index.php.bak_Edietplus
index.php.~
index.php.1
index.php
index.php~
index.php.rar
index.php.zip
index.php.7z
index.php.tar.gz
www.zip
www.rar
www.zip
www.7z
www.tar.gz
www.tar
web.zip
web.rar
web.zip
web.7z
web.tar.gz
web.tar
wwwroot.rar
web.rar

 

web5

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

phps源码泄露,直接访问phps.index即可。

web6

根据描述判断是下载一个备份文件,且为 zip 压缩包格式。经过尝试,得到路径:url/www.zip ,下载一个压缩包,压缩包内的flag文件没有flag,访问网站的/fl000g.txt获得flag。

web7

版本控制(VCS),常见于git,svn,mercurial/hg等版本控制系统,在利用这些系统的时候,如果没有控制好操作,就容易造成文件泄露。

  1. git泄露

    • git泄露工具:

      GitHack .git 泄漏利用工具,可还原历史版本
      lijiejie-GitHack 一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。

      Git_Extract 尽可能的恢复所有目录,省去手动还原步骤

    • 常用命令:

      git log  //显示到HEAD所指向的commit为止的所有commit记录 。使用reset HEAD~n 命令使HEAD指针向前移动,会导致HEAD之后的commit记录不会被显示。
      git diff id //与相应提交的id比对
      git ls-files --stage //检查保存在stage的文件
      git reset --hard HEAD //放弃工作区和index的改动,HEAD指针仍然指向当前的commit.
      
    • 利用原理

      首先从git/config信息里面可以得到仓库地址,然后
      (1)下载.git/index文件,这是一种git特有的格式,在该文件中包含着文件名和文件SHA1值。
      (2)根据该文件SHA1值到objects目录下载相应文件,具体路径somedomain/.git/objects/”XX”/”CHECKSUM”
      (3)zlib解压文件,按照原始目录写入源代码。

  2. SVN泄露

    • 原理:SVN是源代码本本管理软件。使用SVN管理本地代码过程中,会生成一个名为.svn的隐藏文件夹,其中包含重要的源码信息。网站管理员在发布代码时,没有使用导出功能,直接进行复制粘贴。或者在服务器上布署代码时。如果是使用 svn checkout 功能来更新代码,而没有配置好目录访问权限,则会存在此漏洞。黑客利用此漏洞,可以下载整套网站的源代码。

    • SVN不同版本的差异:

      1、在 svn1.6 及以前版本会在项目的每个文件夹下都生成一个.svn文件夹,里面包含了所有文件的备份,文件名为 .svn/text-base/文件名.svn-base ;

      2、在 svn1.7 及以后版本则只在项目根目录生成一个.svn文件夹,里面的pristine文件夹里包含了整个项目的所有文件备份。

    • 最简单的检测方法是直接在网站路径后面 + /.svn/entries,存在漏洞会显示数字 12。dvcs-ripper 支持多种文件泄露查找工具,只能在linux环境下使用。

回到这个题目,题目很简单,直接访问/.git即可获得flag

web8

此题通过访问/.svn/即可获得flag

web9

当我们在使用vim编辑的时候,vim会在被编辑文件同一目录下,创建一个名为filename.swp的文件,记录我们的动作,比如在编辑index.php的时候会存在一个index.php.swp的文件,访问/index.php.swp下载文件得到flag

web10

cookie的属性设置不当可能会造成系统用户安全隐患,Cookie信息泄露是Cookie http only配置缺陷引起的,在设置Cookie时,可以设置的一个属性,如果Cookie没有设置这个属性,该Cookie值可以被页面脚本读取。 例如:当攻击者发现一个XSS漏洞时,通常会写一段页面脚本,窃取用户的Cookie,如果未设置http only属性,则可能导致用户Cookie信息泄露,攻击者能够利用该用户的身份进行系统资源访问及操作。bp抓包,cookie泄露了flag。

web11

通过常用的域名解析网址dbcha.com找到TXT中有flag

web12

页面最下方的电话是admin密码,访问admin目录登录即可

web13

页面底部document打开有后台地址和用户密码

web14

访问/editor,进入图片上传,可以看到所有目录,访问服务页面所在目录找到var/www/html/nothinghere/fl000g.txt

web15

访问页面,最下方有一个qq邮箱,qq查一下可以找到一些信息,然后访问/admin,忘记密码,可以通过QQ的归属地重置密码,然后就可以登录admin账号获得flag。

web16

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

访问/tz.php,看下PHP参数,点击phpinfo超链接,在phpinfo页面搜索flag即可。

web17

备份文件泄露,在web服务中,常常不局限于网站的源代码泄露,网站的数据库备份文件,以及上传的敏感文件,或者一切正常备份,原则不允许访问的文件可被通过访问web路径进行下载得到,造成其信息泄露。有效的帮助攻击者理解网站应用逻辑,为展开其他类型的攻击提供有利信息,降低攻击的难度,可以进一步获取其他敏感数据。

常见检测方法是通过对网站进行web漏洞扫描,直接利用爬虫来爬取网站可能存在的路径以及链接,如果存在备份文件,则可通过web直接进行下载。也可以通过自行构造字典,对网站某一目录下,指定字典进行爆破,常见的扫描工具有wwwscan、御剑后台扫描工具等。

sql备份文件泄露,直接访问backup.sql就可以获得flag。

web18

F12查看源代码,在js目录下找到

if(score>100)
{
var result=window.confirm("\u4f60\u8d62\u4e86\uff0c\u53bb\u5e7a\u5e7a\u96f6\u70b9\u76ae\u7231\u5403\u76ae\u770b\u770b");
}

ascii码转unicode,得到你赢了,去幺幺零点皮爱吃皮看看,访问110.php获得flag

web19

F12查看源代码,发现用户名和密码写死了,直接交会显示密码错误

</script>
    <!--
    error_reporting(0);
    $flag="fakeflag"
    $u = $_POST['username'];
    $p = $_POST['pazzword'];
    if(isset($u) && isset($p)){
        if($u==='admin' && $p ==='a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04'){
            echo $flag;
        }
}
    -->
</html>

看了一下js文件夹,用的是aes加密,iv和key在前端也有,填充方式为zeropadding,分组模式是CBC,直接把密码AES解密得到明文i_want_a_36d_girl,然后发账号密码就可以了。

web20

早期asp+access架构的数据库文件为db.mdb,直接查看url路径添加加/db/db.mdb下载文件,用记事本打开搜索flag即可。

知识点总结

题目 知识点
web1 源代码
web2 js前台拦截=没有拦截
web3 抓包
web4 robots协议
web5 phps文件泄露
web6 代码泄露
web7 git代码泄露
web8 svn信息泄露
web9 vim缓存信息泄露
web10 cookie
web11 域名txt记录泄露
web12 敏感信息公布
web13 内部技术文档泄露
web14 编辑器配置不当
web15 密码逻辑脆弱
web16 探针泄露
web17 备份文件泄露
web18 js敏感信息泄露
web19 前端密钥泄露
web20 数据库恶意下载

 


最后更新于 2022-07-20