/*每日更新,珍惜少年时博客*/

1.问:为啥order by 是排序。而在注入当中后面加的却不是字段而是数字捏?

答:第N个字段嘛。order by 5就是第五个字段,如果5存在,6不存在。就说明只有五个字段咯。

2.问:为啥order by 猜出字段数了以后,就是联合查询的时候的个数(比如字段为4,为啥就是select 1,2,3,4捏?)

答:指定表就是:select 列名 form 表名 所以说有几个字段数,就有几个列明

3.问:为啥会出现显示位这个东东呀?

答:联合查询的结果是对应出现的。

mysql> select 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

 4.问:为啥判断mysql.user大于0就可以判断他是否具有读写权限?and (select count(*) from mysql.user)>0--

答:既然能够判断mysql.user的用户长度,那么也就是说他可以读取到mysql.user的数据。说明是可以读取的。

 5.问:逐字解码法和普通的联合注入法。为啥逐字解码法那么麻烦还要用逐字解码法?

答:因为有些是不支持联合查询的,所以就只能使用逐字解码法进行注入。

 6.问:mysql的站注入,5.0以上和5.0以下有什么区别?

答:因为5.0以下没有information_schema这个数据库,故只能想access那样跑。

7.问:你知道distinct是干嘛的吗?limit呢?like?join嘞?between?

    答:

distinct的是用于消除一样的字段,需要注意的是必须要放在字段的开头,其用法为:select distinct id from admin;

limit主要是用于于对返回值的处理,比如:select id from admin limit a,b; 就是取出第a行到第b行的数据(a,b为数字)

like是模糊查询,用法为:select * from admin like "%王%";

jion

between音译是“之间”其实作用个人觉得于limit类似,用法为:selec * from admin where between a and b; (a,b需是数字)

 8.问:id减去1,页面如果返回正确页面说明是有注入,那加1可以吗?(www.test.com/xsn.php?id=12+1)

  答:显然不行,因为加号在url里面是空格的意思。

 9.问:mysql中,你知道/*! ... */是啥意思吗?这个/*!5000WORLD*/和/*!323202WORLD*/和/*!40001HELLO*/执行会是啥样啊?

  答:在其它数据库中是不会被执行,但在MYSQL中它会执行。属于特有。

10.问:关于table_name,table_schema你造吗?

在MySQL中,数据库名存放在information_schema数据库下schemata表schema_name字段中

在MySQL中,表名存放在information_schema数据库下tables表table_name字段中

11.问:你知道为什么,查询语句的时候总用倒叙吗?

 答:取出最新的数据咯。

12.问:一个帅哥问:and ord(mid(user(),1,1))=114/*是啥意思啊,并且附言道这是判断权限的。

  答:这里就必须要了解两个函数了,一个是ord一个是mid。
Ord函数是返回第一个字符的ascii码值。
Mid函数是用于得到字符串的一部分。这个函数有三个参数,第一个是需要得到的字符串,第二位是从这个函数的第几位开始截取,第三个是截取的长度。
那么也就是说,得到字符串user()里面的第一个ascii值。加上后面的那句,=114
总的推出该句的意思就是:倘若得到的第一个字符串的ASCIII码值等于114的话,就返回正确的页面。114的ASCII值是r
13.问:你知道mysql里有几种注释方式吗?
 答:三种
1.# 这个注释直到该行结束
2./*注释
      多行*/
3.--+ 这个注释直到该行结束
第三种需要解释一下,因为之前我不知道这个方法,说--是注释符我还大概有印象,但是--+就懵。其实是-- ,注意--的后面有一个空格。但是在url里你直接空格会被浏览器直接处理掉,就到不了数据库里。所以特意用加号代替。
14.问:你知道union all和union的区别吗?
 答:去重复   
15.问:2、16进制以及base64、unicode可以在mysql当中执行吗?如果否为什么黑客们都说用这些编码绕过WAF或者一些web防护呢?
 答:16进制可以,base64在版本5.6以上的也增加了base64,所以在mysql版本5.6以上的也是支持base64的。其他的不可以。
编码绕过一般是一用不同层面的差异,比如这个十六进制,php当数字,mysql当字符串。
举例子,php接到这个参数,检查里边有没有select,十六进制它当数字处理,所以没检查出来,但是mysql继续当成select执行了。

mysql> select 0x313233;
+------------+
| 0x313233 |
+------------+
|      123     |
+------------+

 16.问:你知道mysql里的information_schema是什么吗?介绍一下吧。

  答:information.schema是mysql自带的数据库,里面保存了所有的mysql信息。

select table_name from information_schema.tables #读取所有的表明

select column_name from information_schema.columns #读取所有的列明

 17.问:select select * from admin可以执行吗?倘若不可以请说明。

  答:不可以执行,在使用select 双层的时候要把第二个括起来。否则无效。

 18.问:倘若空格过滤了,你知道有哪些可以绕过吗?或者说你知道哪些可以替代空格吗?告诉你个秘密,其实是可以绕过的注入的哟。这些是空字符。比如un%0aion会被当做union来处理。

  答:

%09

%0A

%0D

+

/*|--|*/
/*@--|*/
/*?--|/
/*|%20--%20|*/

都可以替代空格

19.问:某黑客在手注登录框的时候,输入了,账号:test") 密码:123 然后就爆出了如下的错误。你能够根据下面的错误,猜测出原来的SQL语句是怎么写的吗?是咋判断出来的呢?

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')" and password="123" LIMIT 0,1' at line 1

    答:原来的sql语句应该是:select 列明 from 表明 where username="$username" and password="$password";

根据出来的错误提示,and password="123" 该处就已说明。密码输入为“123”,那么系统自动为123加上了双引号(如下图),所以其两侧必定是有双引号的。密码这样写,账号肯定也是这样写。

 20.问:在登录框注入的时候,输入--+注释符不可以当中注释符,#却可以。这是怎么回事呢?

  答:如题的重点是登录框中注入,在登录框--+被带入数据库,还是--+,而--+并非注释符,-- 才是。注意哦,--的后面有一个空格。在URL里可以用是因为会+会自动转码为空格。

 21.倘若过滤了<>你知道还可以用啥吗?

  答:like

 22.select count(*) from 表明; 你知道这句sql是啥意思吗?

  答:查询表明里面所有的记录数

 23.group_concat的作用是啥你知道吗?

答:

 24.你知道开启mysql外链的命令吗?

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码' WITH GRANT OPTION;

 25.你知道SQL Server 2000和SQL Server 2005如果存在注入有啥区别吗?

答:如果权限是sa的话可以直接执行CMD命令,如果是db权限的话可以选择差异备份。2000的可以列目录,2005的不能列目录

 /*该章将会永久性持续更新.如果有好的答案或者答案错误欢迎指出,虚心求指教!*/

 THE END


sql注入之你问我答小知识的更多相关文章

  1. SQL注入总结篇

    分类SQL注入的攻击方式根据应用程序处理数据库返回内容的不同,可以分为可显注入.报错注入和盲注. 可显注入攻击者可以直接在当前界面内容中获取想要获得的内容. 报错注入数据库查询返回结果并没有在页面中显 ...

  2. 绕过阿里云waf进行SQL注入

    做个笔记吧,某SQL注入点的绕过,有阿里云waf的. 首先遇到是个搜索框的注入点: 演示下: 针对搜索框,我们的sql语句一般是怎么写的? 本地演示:select * from product whe ...

  3. asp.net利用HttpModule实现防sql注入和加载样式和JS文件

    1.新建一个类,实现IHttpModule接口 代码如下: public class SqlHttpModule : IHttpModule { public void Dispose() { } p ...

  4. 一条SQL注入引出的惊天大案2:无限战争

    前情回顾: 经过黑衣人和老周的合作,终于清除了入侵Linux帝国的网页病毒,并修复了漏洞.不曾想激怒了幕后的黑手,一场新的风雨即将来临. 详情参见:一条SQL注入引出的惊天大案   风云再起 小Q是L ...

  5. 常见sql注入的防范总结

    在平时的开发过程中,我们可能很少会刻意的去为项目做一个sql注入的防范,这是因为你可能因为使用了某些框架,而无意间已经有了对应sql注入的一些防范操作(比如mybatis使用#{XX}传参,属于预编译 ...

  6. PHP代码审计 -1.SQL注入总结

    0x01 背景          最近在学习PHP代码审计,这里做一个SQL注入总结,是对自己学习知识的总结,也是为自己学习的笔记,方便自己反复翻阅. 0x02 PHP代码审计-SQL注入 挖掘SQL ...

  7. 微信小程序参数二维码6问6答

    微信小程序参数二维码[基础知识篇],从6个常见问题了解小程序参数二维码的入门知识. 1.什么是小程序参数码? 微信小程序参数二维码:针对小程序特定页面,设定相应参数值,用户扫描后进入相应的页面. 2. ...

  8. 动态分析小示例| 08CMS SQL 注入分析

    i春秋作家:yanzm 0×00 背景 本周,拿到一个源码素材是08cms的,这个源码在官网中没有开源下载,需要进行购买,由某师傅提供的,审计的时候发现这个CMS数据传递比较复杂,使用静态分析的方式不 ...

  9. 第九届极客大挑战——小帅的广告(二阶sql注入)

    也是经过一通扫描和测试,没发现其他有用信息,感觉这是个sql注入.其实对于二阶sql注入我以前没实践过,也没看过资料,只是知道这个名字,但不知道为何看到这道题就让我回想起了这个名词,所以查了一下二阶s ...

随机推荐

  1. EntityFramework中的线程安全,又是Dictionary

    继上次记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)后又再次与Dictionary博弈,这一次是在EntityFramework中的Dictionary. 从一个异常说起 这 ...

  2. 从数据包谈如何封杀P2SP类软件

    概述 1.1背景介绍 我们经常在用户的网络中发现大量的P2P应用,占用了网络中大量的宝贵带宽资源,用户的网络管理者也知道内网中存在这些应用,也采取了一些限制措施,但是效果并不一定理想.本文试着以数据包 ...

  3. Scala 中的函数式编程基础(三)

    主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. ...

  4. javascript继承(三)—继承的实现原理

    打算针对js的继承写一系列文章,详细的分析js里继承原理,实现方式,各种继承方式的优缺点,以及最优继承方案,还有多继承的问题等…. 面向对象的编程的核心是封装.继承和多态,js可以看作是一种面向对象的 ...

  5. Windows7下出现“不支持此接口”的解决方案

    今天学校里的辅导员突然找到我说Windows 7下什么文件夹都打不开了,提示“不支持此接口”.怀疑是病毒所致,但运行杀毒软件没有结果.重启也问题依旧. 上网查了之后找到了修复方法: 在命令行中输入fo ...

  6. ~~圣诞节到啦, canvas雪花效果, 漂亮到简直没天理啊~~

    看到coding的主界面有雪花, 原来,哇,  真漂亮, 一看源代码, 哦了个去, angular写的, 压力好大, 分析分析分析分析.... 然后就写成jQ插件的样子给大家用了. 在线预览的页面是: ...

  7. Freemarker-标签使用

     FreeMarker标签使用  FreeMarker模板文件主要有4个部分组成 1.文本,直接输出的部分 2.注释,即<#--...-->格式不会输出 3.插值(Interpolatio ...

  8. Nginx简单实现网站的负载均衡

    在大型网站搭建时,都会考虑如果用户量每日不断增加,大量的并发访问,会不会给网站.数据库带来崩盘的灾难.今天我们就讨论一下,现实中如何解决这些问题的一套最为容易实现的方案. 控制并发,大家都会首先考虑的 ...

  9. Myeclipse快捷键的使用

    存盘 Ctrl+s(肯定知道) 注释代码 Ctrl+/ 取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了) 代码辅助 Alt+/ 快速修复 Ctrl+1 代码格式化 Ctrl+Shi ...

  10. UVa 437 The Tower of Babylon

    Description   Perhaps you have heard of the legend of the Tower of Babylon. Nowadays many details of ...