sql注入过程中单引号和多个关键字被过滤怎么办?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql注入过程中单引号和多个关键字被过滤怎么办?相关的知识,希望对你有一定的参考价值。
很高兴回答你的问题SQL注入成功机率和选择注入目标程序安全性有直接关系.单就你的问题和你的思路来说的话,你还可尝试利用 ANSI 字符代码变体来达到目的 比如 " 号对应 chr(34) .
是否成功取决于他本身程序是否也做了过滤.
另:还有很多方法同样可以达到目的的.比如旁注、跨站、截取cookie 等 参考技术A 就是说明这个方法不行.网站设计人员已经考虑到你这种攻击方法.换别的方法试试吧
简单SQL注入
既然是简单的,估计也就是\'\'字符型把,输入\'or\'1 以下是输出结果,or没被过滤,单引号也没有
呢么用union联合注入试试,提交了\'-1 union/**/select 1 and \'1,发现回显是
嗯哼,什么情况,当把空格都用/**/代替后,回显正常,应该是关键字空格一起吃掉的过滤。所以,我们一个一个来尝试把。
http://ctf5.shiyanbar.com/423/web/?id=-1\'union/**/select/**/group_concat(_name)from/**/information_schema.tables/**/where/**/tabletable_schema_schema=database()/**/and\'1
通过一个一个关键字的试探,终于试出来了表名。然后又艰苦的试来试去,爆出了列名。
然后爆出数据用where\'1\'恒等爆出数据
如果做的多,一般直接猜到flag列flag表,直接最后一步,在知道空格被过滤的情况下,这里还可以用%0a换行符代替空格
以上是关于sql注入过程中单引号和多个关键字被过滤怎么办?的主要内容,如果未能解决你的问题,请参考以下文章
sql-labs SQL注入平台-第1关Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入)
sql-labs SQL注入平台-第1关Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入)