首页 新闻 赞助 找找看

【延时注入问题】

0
[待解决问题]

id=1 union select * from (select(sleep(5)) )aaa
想问一下sqlmap的payload中(select(sleep(5)) )被执行的原理

任尔东西南北风的主页 任尔东西南北风 | 菜鸟二级 | 园豆:206
提问于:2023-09-23 17:03
< >
分享
所有回答(2)
0

SQLMap是一个流行的自动化SQL注入工具,用于检测和利用Web应用程序中的SQL注入漏洞。在你提供的Payload中,(select(sleep(5))) 是一个时间延时攻击的Payload示例,其目的是使数据库查询在执行时休眠5秒钟。

这里是它的原理:

select语句:Payload中的select语句被设计为一个子查询,其中包含了一个sleep(5)函数调用。sleep(5)函数的作用是让数据库服务器等待5秒钟,然后再继续执行查询。

Union操作:Payload的主要目的是在原始查询的结果中插入一行,以便能够通过Union操作将两个查询结果合并。在这种情况下,id=1部分是为了确保注入的内容被插入到查询结果的第一行。

时间延时攻击:sleep(5)函数会让数据库服务器等待5秒钟,如果在这期间,应用程序的响应时间明显变慢,那么就表示SQL注入漏洞成功利用。SQLMap会观察应用程序的响应时间,如果发现响应时间明显延迟,就会认为注入成功。

时间单位:请注意,不同的数据库管理系统可能使用不同的时间单位,而且sleep函数的语法也可能不同。在不同的数据库系统中,可能需要使用不同的函数来实现时间延时攻击。

总的来说,这个Payload的原理是通过向原始查询中插入一个时间延时函数来测试应用程序是否容易受到SQL注入攻击。当数据库服务器执行这个Payload时,如果应用程序的响应时间显著增加,那么可以推断存在SQL注入漏洞。然后,攻击者可以进一步利用该漏洞执行恶意的SQL查询。请注意,SQL注入攻击是非法的行为,只能在合法和授权的环境中进行测试。

Technologyforgood | 园豆:4183 (老鸟四级) | 2023-09-24 21:31
0

典型的延时注入,有什么问题吗?

纯洁的小学生 | 园豆:204 (菜鸟二级) | 2023-10-04 01:26

select(sleep(5))为啥不可以直接sleep(5),为啥需要select来让他执行

支持(0) 反对(0) 任尔东西南北风 | 园豆:206 (菜鸟二级) | 2023-10-25 11:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册