zoukankan      html  css  js  c++  java
  • CTFHub Web技能树

    web前置技能 HTTP协议

    请求方式

    chrome_2020-03-03_10-30-45

    使用bp抓包,send to repeater。

    将开头的GET更改成CTFHUB,点击send。

    java_2020-03-03_10-37-36

    在response中获得flag。

    java_2020-03-03_10-37-03

    另外还可以用curl命令来获得flag,具体可以看官方的writeup。

    302跳转

    chrome_2020-03-03_10-41-47

    用bp抓包,点击Give me Flag的链接,send to repeater。

    java_2020-03-03_10-43-28

    在response中获得flag。

    java_2020-03-03_10-45-45

    cookie

    chrome_2020-03-03_10-46-51

    依旧是用bp抓包……

    java_2020-03-03_10-48-10

    可以看到这里admin=0,结合网页内容,可以联想到把admin改成1就可以获得flag了。

    java_2020-03-03_10-49-38


    基础认证

    chrome_2020-03-03_12-11-55

    题目已经给了参考链接。

    chrome_2020-03-03_13-22-58

    chrome_2020-03-03_13-23-15

    打开网页,点击give会出现一个输入账号密码的窗口。

    chrome_2020-03-03_13-10-44

    随便输个账号密码,抓包查看,会在response里面看到提示。

    java_2020-03-03_13-13-12

    Do u know admin?

    由此知道账号名是admin。

    但是密码不知道怎么找,这里密码的部分用了base64加密,也不好直接爆破。

    看了题目才发现有个附件被我漏了(晕)

    打开来就是一个密码本。

    notepad_2020-03-03_13-16-39

    那么就好解决了,把这些密码前面加上“admin:”然后再base64加密交给bp爆破就可以了。

    经过加密之后的密码。

    pythonw_2020-03-03_13-20-21

    爆破之后的结果,长度和其他的不一样的就是正确密码了,在response里面可以看到flag。

    java_2020-03-03_13-21-08

    响应包源代码

    打开题目是个贪吃蛇游戏。

    实际上flag就在源码里面,f12查看源码就看到flag在注释里面。

    chrome_2020-03-03_13-31-01

    web 信息泄露

    目录遍历

    由于配置错误导致网站的目录可被遍历,一般该类漏洞可以为后续利用提供一些信息上的帮助。

    chrome_2020-03-03_13-54-43

    点击会出现目录,一个一个找就可以找到flag了。

    chrome_2020-03-03_13-55-25

    打开就是flag。

    PHPINFO

    chrome_2020-03-03_13-58-57

    chrome_2020-03-03_13-59-29

    直接查找就是了。

    chrome_2020-03-03_13-59-53

    备份文件下载

    网站源码

    chrome_2020-03-03_14-02-59

    可以一个一个试,也可以直接扫描后台。

    御剑后台扫描工具_2020-03-03_14-20-55

    打开www.zip,会下载一个文件,里面有一个flag文件,打开来是这个。

    notepad_2020-03-03_14-22-30

    在网址后面输入这个文件的名称,就可以获得flag了。

    chrome_2020-03-03_14-24-05

    bak文件

    chrome_2020-03-03_16-07-21

    题目提示是bak文件,在网址后面加上index.php.bak.

    chrome_2020-03-03_16-08-16

    会下载index.php.bak。

    用记事本打开就可以看到flag了。

    notepad_2020-03-03_16-09-47

    vim缓存

    这道题讲的是vim的缓存,可以参考这个https://www.cnblogs.com/zwfc/p/5466885.html

    和上一道题的方法差不多。

    chrome_2020-03-03_16-22-55

    notepad_2020-03-03_16-23-42

    .DS_Store

    chrome_2020-03-03_16-26-40

    打开.DS_Store。

    chrome_2020-03-03_16-30-14

    会下载一个叫.DS_Store的文件,翻一翻会看到这个。

    notepad_2020-03-03_16-32-24

    题目告诉我们.DS_Store可以知道这个目录里面所有文件的清单,所以这个应该就是flag所在的文件。

    网址访问。

    访问了半天都是404,最后发现有一段被我忘掉了……

    notepad_2020-03-03_16-43-46

    加上去之后访问就可以获得flag了。

    chrome_2020-03-03_16-44-18

    信息泄露后面的不会做了……

    密码口令

    弱口令

    题目都说了是弱口令就拿常见的账号密码试试吧。

    admin和123456,flag就出来了。

    默认口令

    题目名是默认口令,让我们百度一下。

    马上就有结果了。

    参考链接

    2020-03-05_19-00-29

    题目用的是亿邮邮的网关,找一找默认口令就行了。

    chrome_2020-03-05_19-02-15

    每一个都试一遍,最后找到flag。

    chrome_2020-03-05_19-04-03

    密码口令目前能够做的题就结束了。

    SQL注入

    整数型注入

    第一种方法 手注

    进入题目,提示输入1试试?

    那就试呗。

    chrome_2020-03-05_19-13-25

    直接把语句显示出来了。

    因为是整数型注入,不用加单引号。

    猜字段。

    在字段数为二的时候有回显,所以字段数为2.

    chrome_2020-03-06_09-54-43

    看哪个字段能够回显,这里要把id改成-1让它能够爆错。(其他的能够爆错的也可以)

    chrome_2020-03-06_10-04-40

    在2处注入,查找数据库。

    chrome_2020-03-06_10-05-18

    数据库为sqli。

    查表。

    chrome_2020-03-06_10-12-47

    表名为news和flag。

    查字段名。

    chrome_2020-03-06_10-14-40

    查数据。

    chrome_2020-03-06_10-20-08

    第二种方法 sqlmap

    在url后面加上?id=1然后在sqlmap中检查是否有注入点。

    cmd_2020-03-06_10-23-19

    cmd_2020-03-06_10-24-05

    存在注入点。

    查数据库。

      1 sqlmap.py –u http://challenge-2ace14d871435db0.sandbox.ctfhub.com:10080/?id=1 –current-db

    cmd_2020-03-06_10-26-48

    数据库名为sqli。

    爆表名。

      1 sqlmap.py –u http://challenge-2ace14d871435db0.sandbox.ctfhub.com:10080/?id=1 –D sqli –-tables

    cmd_2020-03-06_10-29-49

    表名为flag和news。

    爆字段名。

      1 sqlmap.py –u http://challenge-2ace14d871435db0.sandbox.ctfhub.com:10080/?id=1 –D sqli –T flag --columns

    cmd_2020-03-06_10-33-00

    字段名为flag。

    爆数据。

      1   1 sqlmap.py –u http://challenge-2ace14d871435db0.sandbox.ctfhub.com:10080/?id=1 –D sqli –T flag -C flag --dump
    

    字符型注入

    第一种方法 手注

    输入1,可以看到语句。

    chrome_2020-03-06_11-04-28

    这道题和上一题不同,1变成了‘1’.

    加上单引号并且注释屏蔽后面的语句。

    chrome_2020-03-06_11-07-02

    查字段。

    chrome_2020-03-06_11-08-06

    查看哪个字段能够回显。

    chrome_2020-03-06_11-09-07

    查数据库。

    chrome_2020-03-06_11-10-29

    查表。

    chrome_2020-03-06_11-12-12

    查字段。

    chrome_2020-03-06_11-14-30

    查数据。

    chrome_2020-03-06_11-16-09

    第二种方法 sqlmap

    跟上一题方法一样

    报错注入

    参考链接

    联想题目:bugku多次第二部分 https://www.cnblogs.com/truthilia-12580/p/12288529.html

    前面的题目字段数都是2,这回就先拿2试一试。

    chrome_2020-03-06_12-09-52

    拿3试一试。

    chrome_2020-03-06_12-10-54

    说明字段数是3.

    当前数据库。

    chrome_2020-03-06_12-14-47

    数据库中的表。

    chrome_2020-03-06_12-17-28

    表中的字段。

    chrome_2020-03-06_12-19-10

    数据。

    chrome_2020-03-06_12-21-55

    这里只有前32位的,用substr截取就可以看到后面了。

      1 substr(a,b,c)
      2 从字符串a的b位置开始截取c个字符,当b为负数时截取位置是从字符串a右端向左数b个字符
    

    chrome_2020-03-06_12-25-53

    拼接起来就是完整的flag了。

    这一篇写得太长了,寻思着再分一篇ヽ(*。>Д<)o゜

  • 相关阅读:
    GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名(转载)
    vector,list,deque容器的迭代器简单介绍
    自己动手实现简单的Vector
    浅析STL allocator
    STL中的Traits编程技法
    模板类的全特化、偏特化
    自己动手实现智能指针auto_ptr
    各种排序算法的总结和比较(转)
    (CVE-2017-7269 ) IIS6.0实现远程控制
    (CVE-2016-5195)脏牛本地提权
  • 原文地址:https://www.cnblogs.com/truthilia-12580/p/12425919.html
Copyright © 2011-2022 走看看