当前位置: 首页 > news >正文

今年十八,喜欢ctf-web

前言

🍀作者简介:被吉师散养、喜欢前端、学过后端、练过CTF、玩过DOS、不喜欢java的不知名学生。

🍁个人主页:红中

🫒每日emo:等我把脸皮磨厚

🍂专栏地址:网安专栏

 本来想早点睡,明天九点多有课,翻来覆去睡不着,抽了根烟,闲着也是闲着,12月就要准备考试,准备过年放大假了。

今年最后一篇文章。

有人说:你们这帮打CTF的都说web简单,没看简单到哪去。

那好,我今天就说几个超级简单的web题目,题目来自bugku

1、滑稽

想想最简单的web题目是啥

F12直接出flag

 刚进来就是铺天盖地的滑稽,吓劳资一跳

直接F12,

 flag轻松获取

2、计算器

 进来之后是个这玩意,56+26

。。。

有点难为人了,我直接通过计算器得知等于82

 往里输呗

 一输,发现不对劲,只能输入一个啊,那问题一定出在前端,看看源代码

maxlength(最大长度)='1'

直接改成2 

 输完点验证

 看到这是不是觉着web挺简单的了,别急,难的在后边

 知道get/post吧

3、GET

 进来之后,发现是这么个玩意,简单的php代码

通过get方式读取数据存储到what变量里,然后输出

如果what==flag,输出flag

get请求最大的特点就是喜欢把乱七八糟的东西放到链接里,那我直接反客为主

 成功获得flag

 4、POST

post就不像get那么简单啦。

但是有简便方法,我不讲正常方法了。

正常就是通过post传递一个what=flag的参数进去,可以通过hackbar来实现

 

简便方法

winR cmd

curl -d what=flag + 链接

 

 以下仅做了解

参数描述
-I/--head只显示传输文档,经常用于测试连接本身
-o/--output把输出写到该文件中,必须输入保存文件名
-O/--remote-name把输出写到该文件中,保留远程文件的文件名
-F/--form模拟表单提交
-s/--silent静默模式,不输出任何东西
-S/--show-error显示错误,在选项 -s 中,当 curl 出现错误时将显示
-L/--location跟踪重定向
-f/--fail不输出错误
-n/--netrc从netrc文件中读取用户名和密码
--netrc-optional使用 .netrc 或者 URL来覆盖-n
--ntlm使用 HTTP NTLM 身份验证
-N/--no-buffer禁用缓冲输出
-p/--proxytunnel使用HTTP代理
--proxy-anyauth选择任一代理身份验证方法
--proxy-basic在代理上使用基本身份验证
--proxy-digest在代理上使用数字身份验证
--proxy-ntlm在代理上使用ntlm身份验证
-P/--ftp-port使用端口地址,而不是使用PASV
-M/--manual显示全手动
-Q/--quote文件传输前,发送命令到服务器
-r/--range检索来自HTTP/1.1或FTP服务器字节范围
--range-file读取(SSL)的随机文件
-R/--remote-time在本地生成文件时,保留远程文件时间
--retry传输出现问题时,重试的次数
--retry-delay传输出现问题时,设置重试间隔时间
--retry-max-time传输出现问题时,设置最大重试时间
--socks4用socks4代理给定主机和端口
--socks5用socks5代理给定主机和端口
-t/--telnet-optionTelnet选项设置
--trace对指定文件进行debug
--trace-ascii Like跟踪但没有hex输出
--trace-time 跟踪/详细输出时,添加时间戳
-T/--upload-file上传文件
-u/--user设置服务器的用户和密码
-U/--proxy-user设置代理用户名和密码
-V/--version显示版本信息
-w/--write-out [format]什么输出完成后
-x/--proxy在给定的端口上使用HTTP代理
-X/--request指定什么命令
-y/--speed-time放弃限速所要的时间。默认为30
-Y/--speed-limit停止传输速度的限制,速度时间'秒
-z/--time-cond传送时间设置
-0/--http1.0使用HTTP 1.0
-1/--tlsv1使用TLSv1(SSL)
-2/--sslv2使用SSLv2的(SSL)
-3/--sslv3使用的SSLv3(SSL)
--3p-quotelike -Q for the source URL for 3rd party transfer
--3p-url使用url,进行第三方传送
--3p-user使用用户名和密码,进行第三方传送
-4/--ipv4使用IP4
-6/--ipv6使用IP6
-#/--progress-bar用进度条显示当前的传送状态

 5、你必须让它停下

 简单描述一下,这是个不断刷新的网页,只有当图片成功刷出来的时候我们才有机会获得flag,有的师傅直接抓包上了,没必要

ctrl u直接看源代码,优点是这里不会一直刷新

 直接F5刷新,省心省力

 当图片为10.jpg的时候,后面成功显示flag

 6、头等舱

 进来之后啥也没有,源代码也是

头等舱。。。

多少沾点。。不是,

多少和头文件有点关系

 抓包

 7、本地管理员

 这是嘛玩意。。。

先F12

 base64加密。去网站解一下

 啥也别说了,这是密码。

账号是啥?

管理员系统,还能有啥

admin呗

 进去之后被封IP了

再思考一下。。。

本地管理员。。

本地。

打开抓包软件

 在头文件里把IP地址改为本地127.0.0.1/localhost

 8、成绩查询

 进来,第一眼,sql注入!

抓包,找raw

 把raw里的东西存在一个文件里,我命名为1.txt

然后sqlmap跑

 sqlmap.py -r 1.txt -p id current-db
-r > 加载一个文件
-p > 指定参数
-– current-db > 获取当前数据库名称

 爆出数据库名叫skctf

接着爆表

sqlmap.py -r 1.txt -p id -D skctf --tables

-D我个人觉着就是database的意思哈,方便记忆。

--tables就是爆表

 爆出来有个叫fl4g的,差不多flag就在里面了

接着爆字段

sqlmap.py -r 1.txt -p id -D skctf -T fl4g --columns

-T就是tables

columns是字段

 

 接下来爆字段里的内容

sqlmap.py -r 1.txt -p id -D skctf -T fl4g -C skctf_flag --dump

 成功爆出flag

总结下学习方法:

  1. 实战效果远超于听课,听100节课不如做一道题
  2. 不会的先自己研究,确认自己解决不了再求人
  3. 这个方向注定要涉及很多工具,如果不用kali内置的话,自己配是个辛苦的过程,多学,多看,多听
  4. 最好不要选小众的工具,因为出问题的时候,可参考的资料真的很少
  5. 不要图省力,举个栗子:就算有sqlmap这种自动注入的工具,也先学完手工注入

相关文章:

  • AI加速(九): 深度理解吞吐量和延时
  • java毕业设计的滑雪场学具租赁管理系统mybatis+源码+调试部署+系统+数据库+lw
  • redis5.0集群搭建(两台服务器)
  • [操作系统笔记]基本分页存储管理
  • 容器运行时与k8s概述
  • [ Linux ] Linux信号概述 信号的产生
  • 终极版Facebook广告管理工具新手教程!赶紧收藏!(下篇)
  • 计算机组成原理习题课第四章-2(唐朔飞)
  • Spring Boot 配置多数据源
  • HTML+CSS+JavaScript仿京东购物商城网站 web前端制作服装购物商城 html电商购物网站
  • 隔离放大器
  • Python毕业设计必备案例:【学生信息管理系统】
  • java服务器信息监控【oshi】(已封装,开箱即用)
  • 基于萤火虫算法优化的BP神经网络预测模型(Matlab代码实现)
  • 航天环宇提交招股书上会稿:计划募资6亿元,控股股东为李完小
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 10个最佳ES6特性 ES7与ES8的特性
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Codepen 每日精选(2018-3-25)
  • es6要点
  • FastReport在线报表设计器工作原理
  • java中的hashCode
  • React组件设计模式(一)
  • select2 取值 遍历 设置默认值
  • Spring Boot MyBatis配置多种数据库
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 测试开发系类之接口自动化测试
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 简析gRPC client 连接管理
  • 聊一聊前端的监控
  • 区块链共识机制优缺点对比都是什么
  • 探索 JS 中的模块化
  • 移动端 h5开发相关内容总结(三)
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • #pragma 指令
  • (11)MATLAB PCA+SVM 人脸识别
  • (7)STL算法之交换赋值
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Matlab)使用竞争神经网络实现数据聚类
  • (附源码)计算机毕业设计大学生兼职系统
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (力扣题库)跳跃游戏II(c++)
  • (利用IDEA+Maven)定制属于自己的jar包
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (实战篇)如何缓存数据
  • (四)Android布局类型(线性布局LinearLayout)
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)fock函数详解
  • (转)Unity3DUnity3D在android下调试
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉