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

河北企业网站建设电商设计培训机构

河北企业网站建设,电商设计培训机构,wordpress表白,价格低的宣传语1.背景知识 1.1Post、Get的对比 特性GET 方法POST 方法HTTP 方法类型GETPOST数据位置URL 查询字符串(?key=value)请求体(Request Body)数据可见性明文显示在 URL 和浏览器历史中不可见(除非开发者工具查看)数据长度限制受 URL 长度限制(通常约 2048 字符)无明确限制(…

1.背景知识

1.1Post、Get的对比

特性GET 方法POST 方法
HTTP 方法类型GETPOST
数据位置URL 查询字符串(?key=value)请求体(Request Body)
数据可见性明文显示在 URL 和浏览器历史中不可见(除非开发者工具查看)
数据长度限制受 URL 长度限制(通常约 2048 字符)无明确限制(但服务器可能限制)
缓存可被缓存默认不缓存
书签/分享可保存为书签或分享带参数的 URL不可直接保存(需额外处理)
安全性较低(敏感数据不应使用)较高(但仍需 HTTPS 加密)
幂等性是(多次请求结果相同)否(可能产生副作用,如重复提交)
主要用途获取数据(查询、搜索、过滤等)提交数据(登录、表单提交、修改等)
HTML 表单示例<form method="get" action="/search"><form method="post" action="/submit">
后端接收方式通过查询参数获取(如 req.query通过请求体获取(如 req.body
适用场景举例搜索页面、分页、筛选条件用户注册、文件上传、敏感操作

post型注入通过表单提交数据,get型注入通过”变量“=”值“的形式,使用?连接添加到action所指向的URL的后面。

即Post型SQL注入发生再页面表单提交信息处。Get型SQL注入发生再通过超链接方式向其他网页传递参数时。

1.2数据库暴露的原理

在用Get方式进行数据库查询时,通过数据库的SQL注入漏洞得到数据库的内容。

2.创建数据库

2.1创建SQL脚本

create database if not exists lab;use lab;drop table if exists books;
create table books
(
id int not null auto_increment,bookname char(64) not null,
author char(32) not null,primary key(id));insert into books(bookname,author) values('安徒生童话全集','汉斯·克里斯汀·安徒生');
insert into books(bookname,author) values('A Brief History Of Time','Stephen Hawking');

2.2将脚本文件导入到数据库

登录数据库

导入

3.建立get方式查询的网站

3.1con_database.php

<?php
$con=mysqli_connect('127.0.0.1','root','123456')
or die('数据库连接失败');
mysqli_select_db($con,'lab')
or die('选择数据库失败');
?>

3.2新建index.php

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Get型查询</title>
</head>
<body><div style=" margin-top:70px;color:#FFFFFF; font-size:23px; text-align:center">
<font color="#FF0000"><?php
//包含数据库连接
include('con_database.php');if(isset($_GET['id']))
{$id=$_GET['id'];$sql="SELECT * FROM books WHERE id='$id' LIMIT 0,1";$result = mysqli_query($con,$sql) or die('SQL语句执行失败, : '.mysqli_error($con));$row = mysqli_fetch_row($result);if($row){echo "<font size='5' color= '#99FF00'>";echo 'Book name: ' .$row[1];echo "<br>";echo 'Author: ' .$row[2];echo "</font>";}else {print_r(mysqli_error($con));}
}
else { echo "请输入要查询记录的id";}?>
</font>
</div>
</body>
</html>

3.3功能测试

http://localhost/get/index.php?id=1

表示查询对应路径以及文件名,查询第一条记录,?用来连接URL地址喝Get方式传递的变量id

4.数据库暴库攻击测试

进行GET方式SQL注入

4.1暴数据库

http://

localhost/get/index.php?id=-1%27union%20select%201,group_concat(schema_name),3%20from%20information_schema.schemata--+

SQL 注入语句解析​​:

http://localhost/get/index.php?id=-1'union select 1,group_concat(schema_name),3 from information_schema.schemata--+
​分解分析​​:
  1. id=-1'

    • 尝试闭合原本的 SQL 查询字符串(假设原查询是 SELECT * FROM table WHERE id='$id')。
    • -1 确保不返回正常数据,使后续 UNION 结果可见。
  2. union select 1,group_concat(schema_name),3

    • UNION SELECT 用于合并查询结果,要求列数匹配原查询(此处假设原查询返回 3 列)。
    • group_concat(schema_name) 是 MySQL 函数,用于合并所有数据库名(schema_name)成一个字符串。
    • 1, ..., 3 是占位值,确保列数匹配。
  3. from information_schema.schemata

    • information_schema.schemata 是 MySQL 系统表,存储所有数据库信息。
    • 攻击者通过此查询获取服务器上的所有数据库名。
  4. --+

    • -- 是 SQL 注释符,用于忽略原查询的剩余部分(如 LIMIT 1 等)。
    • + 在 URL 中代表空格(避免被浏览器过滤)。

4.2暴lab数据库的数据表

http:/localhost/get/index.php?id=-1%27union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=%27lab%27--+

http://www.dtcms.com/wzjs/599331.html

相关文章:

  • 靖江网站定制页面设计站在学员的角度
  • 桂林网站制作培训班免费外贸网站大全
  • 网站运营主要做什么工作wordpress标题调用
  • 无锡滨湖区建设局网站深圳下周一居家办公
  • 防腐木用什么名字做网站wordpress安装ssl
  • wordpress文章字体颜色wordpress优化插件
  • 网站运营难吗网站开发公司杭州
  • 我是做网站的 哪里有单接公司网站管理
  • 网站开发流程步骤crm管理系统 一般包含
  • 网站正在建设中提示页面python基础教程 入门教程
  • 网站只做内容 不做外链物联网云平台
  • 连云港网站关键字优化品牌红酒网站建设
  • 简述建设一个网站的一般过程做销售有什么技巧和方法
  • 查建设工程业绩在哪个网站石家庄最新今天的消息
  • 移动网站开发框架空间设计公司排名
  • 深圳网站建设 制作元个人博客网站素材
  • 手机网站建设论文成都市住房和城乡建设厅官方网站
  • 建筑网站首页设计职业生涯规划书模板
  • 哪个地区网站建设好网架结构厂家
  • 横岗网站建设多少钱宁夏建设工程质量监督站网站
  • 网站的文本链接怎么做稀奇古怪好玩有用的网站
  • 北京网络网站推广企业课程培训
  • 宝安网站建设(深圳信科)东营网络营销
  • 济宁做网站有哪几家自治区建设厅官方网站
  • 营销网站建设模板地区门户网站 wap app
  • 外贸网站搞一个网站需要多少钱
  • 怎么编辑网站后台it外包公司怎么接项目
  • 做网站前台要学什么课程网站jquery上传源代码
  • 苏州seo网站优化软件北京住房城乡建设部网站
  • 上海做高端网站建设吸引人的微信软文