zoukankan      html  css  js  c++  java
  • php+mysql非暴力查表的注入语句写法总结

    作者:杨凡 来自:Silic Group Hacker Army 很久很久很久以前,当我对php+mysql的注射什么都不懂的时候,磊哥教了我怎么去射这种站,并且教会了我很多种不同的射的方法,这让我学会了使用不同的体位去射,结果我发现射这种站的时候灵活性真的很大,想在哪里射就在哪里射,想怎么射就怎么射,想什么体位就什么体位,学会了很多东西,很感激磊哥。 磊哥给我发过一些截图,我看到磊哥和狐狸大哥一起射过很多站,都是国外的站啊,他们也射的进去,我没搞过几个国外站,主要是一看到那些别扭的字母我自己就别扭,就思路就断掉断掉了… … 所以,到现在为止,我还是不明白为什么当磊哥总是射的很远(人在国内就可以射到国外去),并且射的量很大(发给我了好多截图啊)… … 我觉得应该是磊哥身体好,所以才这样… … 在磊哥给我演示过的各种体位中,其中有一种是非暴力慢慢射的方法,这种方法很温柔,不会弄痛人家,所以使用起来是你好我好大家好,这种方法在坛子里发的有,链接为: /Article/201105/89843.html /Article/201105/89850.html 我今天要说的也是这种方法,不过代码要简洁一点,因为简洁,所以射起来的时候会感觉更爽一点,并且射出结果所需的时间也比较短一些。 不过我觉得磊哥和娜娜大姐应该早知道这种代码,只是在他们的文章中为了使新手更容易理解,所以才写的复杂了一点,既然他们没写,那我就越俎代庖一把,写出来吧。 先看上面的第一个链接,磊哥的查表的代码是这样写的: union select 1,2,3,table_name from (select * from information_schema.tables where table_schema=数据库名字的hex order by table_schema limit 6,7)t limit 1— 这句代码可以查出某个库中都有哪些表,但是这个代码的唯一不足之处就是,每次只能查出一个表名,要想获得这个库中的所有表名,就必须要不断的更换limit后边的数值,比较麻烦,并且磊哥的这句代码使用了两层嵌套,这对于那些对SQL语言不怎么熟悉的朋友来说可能就不是那么好理解了,那么,其实这句代码可以这么写: union+select+1,2,table_name+from+information_schema.tables+where+table_schema=数据库名字的hex 这样就一次性列出了该库中的所有表名,可以看到,这里只有一层查询,并且没有使用limit关键字,这样就清爽多了,要写的代码也少了很多,并且更容易理解一点,你看,是不是很爽? 好了,到现在为止,磊哥的那篇文章说完了,下面说娜娜姐的那篇文章,也就是上边说的第二个链接。 娜娜姐是这样写的: union select 1,2,column_name from (select * from information_schema.columns where table_name=爆出来的表名的hex值 and table_schema=数据库名的hex值 order by 1 limit 2,3)t limit 1— 这里同样使用了嵌套查询,并且同样是每次只能查出一个列名,还是很麻烦,我要说的是,这段代码可以这么写: union+select+1,2,columns_name+from+information_schema.columns+where+table_name=爆出来的表名的hex值 这样就一次性列出了指定表中的所有列名。 可以看到,我上边说的两句代码中没有使用limit来限定查询的范围,如果你愿意,你可以在语句的最后加上这个limit,比如: union+select+1,2,table_name+from+information_schema.tables+where+table_schema=数据库名字的hex limit 0,1 union+select+1,2,columns_name+from+information_schema.columns+where+table_name=爆出来的表名的hex值 limit 0,1 如果你不知道limit有什么用,那么建议你自己谷歌一下,这里不细说,只是简单的说一下语句的变换问题,OK,完毕。 摘自红色黑客联盟(www.7747.net) 原文:http://www.7747.net/Article/201105/90057.html
  • 相关阅读:
    How ASP.NET MVC Works?[持续更新中…]
    PortalBasic Web 应用开发框架
    .NET性能分析最佳实践之:如何找出使用过多内存的.NET代码(基础篇)
    js模块化开发js大项目代码组织和多人协作的解决之道
    PortalBasic Web 应用开发框架:应用篇(二) —— Action 使用
    细细品味Hadoop_Hadoop集群(第2期)_机器信息分布表
    msmvps.comblogs
    敏捷开发中编写故事应该符合的条件
    自己动手重新实现LINQ to Objects: 12 DefaultIfEmpty
    我的时间管理——充分利用WindowsPhone、Android等设备,实现真正的无压工作!
  • 原文地址:https://www.cnblogs.com/gxldan/p/4066647.html
Copyright © 2011-2022 走看看