2019.3.24

2019.3.24

1.英语单词学习计划(123、124)

2.SQL注入学习:

①SQL Server中可以用除法错误来暴露一些数据,例如 1=0/@@version 来暴露版本信息, 1=0/user来暴露用户等 用group by 和 having 字句来暴露列名, 例如 group by name having '1'='1   只要出错就会返回第一列,by后一直跟多列即可

     ②可以使用web.config文件配置ASP.NET服务,将customerErrors设置为OFF,可防止向远程用户返回详细错误信息,PHP则在die()
       方法内设置需要的处理即可

     ③字符串内联注入:	 所有数据库通用测试字符串  : ' 或者 1' or '1'='1 或者 1') or ('1'='1  或者 1' or '1'='2 或者 1') or ('1'='2  
       			 SQL Server 字符串连接测试 : 1' or 'ab'='a'+'b    或者   1') or ('ab'='a'+'b
      			 MySQL      字符串连接测试 : 1' or 'ab'='a''b	或者   1') or ('ab'='a''b
      			 Oracle     字符串连接测试 : 1' or 'ab'='a'||'b	或者   1') or ('ab'='a'||'b

       数字值内联注入:   ' 或者 1+1 或者 1 or 1=1  或者 1 and 1=2 或者 value or 1=2
				3-1 或者 1) or (1=1 或者 1) and (1=2 或者 value) or (1=2

     ④了解终止式SQL注入的思想,即通过注释来执行多条想要执行的SQL语句,了解通过时间延迟来判断注入漏洞的思想

3.复查代码中的SQL注入 :

①注意到 \$result = mysql_query("SELECT * FROM table WHERE column = '\$_GET["param"]'");
			      \$result = mysql_query("SELECT * FROM table WHERE column = '\$param'");
   			有所不同,前者的$param变量未经验证直接参与构造了查询语句,很容易引发SQL注入,是寻找的漏洞的目标

②使用grep和正则搜索源码中的所有可疑的函数

4.运动计划正常完成

ps:有个疑问,目前互联网上的web页面到底有多少是有很明显的SQL注入漏洞的呢?

ps:感冒了还去跑步我可能有点作死

猜你喜欢

转载自blog.csdn.net/gw_csdn/article/details/88784264