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源代码
web2js前台拦截=没有拦截
web3抓包
web4robots协议
web5phps文件泄露
web6代码泄露
web7git代码泄露
web8svn信息泄露
web9vim缓存信息泄露
web10cookie
web11域名txt记录泄露
web12敏感信息公布
web13内部技术文档泄露
web14编辑器配置不当
web15密码逻辑脆弱
web16探针泄露
web17备份文件泄露
web18js敏感信息泄露
web19前端密钥泄露
web20数据库恶意下载