代码审计系列第二节——SQL注入

访客5年前关于黑客接单1268

 经过之一节给咱们简略介绍了一下代码审计简略运用,那么第二节,咱们来介绍一下,使用东西和手艺进行缝隙发掘。为了咱们能对sql注入有更好的学习和收成。引荐咱们几个学习php根底的网站

Imooc.com http://www.w3school.com.cn/php/index.aspw3school

Sql注入根底

下面是咱们简略写了一个php后端传输句子,总共没有几行代码,假如上面几个根底网站你进行学习,那么下面这几行根底代码,看懂彻底没有问题。数据库衔接,使用$_GET用来显现数据库id号,进行遍历数据。这个是咱们进行演示的小demo

 <?php

      $dbuser = “root”;

      $dbpwd = “123456”;    //这里是mysql的暗码

      $db = “dvwa”;

      $conn = mysql_connect(“localhost”,$dbuser,$dbpwd) ordie(“error”);

      mysql_select_db($db,$conn);

      $user_id = $_GET[‘user_id’];

      $query = “select * from users where user_id =$user_id”;

      $result = mysql_query($query) or die(mysql_error());

      print_r(mysql_fetch_array($result));

      ?>

除了上面id或许呈现注入,那么其它http头,也或许会呈现注入问题。那么咱们也会进行简略剖析http头注入问题,下面给出一段http头注入小demo

http头烘托注入

function getip()

{

   if (getenv(‘HTTP_CLIENT_IP’))

    {

       $ip = getenv(‘HTTP_CLIENT_IP’);

    }

  

   elseif (getenv(‘HTTP_X_FORWARDED_FOR’))

    {//获取客户端用 *** 服务器拜访时的实在ip 地址

       $ip = getenv(‘HTTP_X_FORWARDED_FOR’);

    }

   elseif (getenv(‘HTTP_X_FORWARDED’))

    {

       $ip = getenv(‘HTTP_X_FORWARDED’);

    }

   elseif (getenv(‘HTTP_FORWARDED_FOR’))

    {

       $ip = getenv(‘HTTP_FORWARDED_FOR’);

    }

   elseif (getenv(‘HTTP_FORWARDED’))

    {

       $ip = getenv(‘HTTP_FORWARDED’);

    }

   else

    {

       $ip = $_SERVER[‘REMOTE_ADDR’];

    }

   return $ip;

}

http头注入点来历,来自下面几个函数头,假如平常你进行黑客测验,那么在进行抓包的时分,会经常看见下面函数头。

User-agent 浏览器版别 (少)

Referer     来历(少)

X-Forwarded-For 获取ip(高)

client_ip  获取ip(高)

注入分类,数字、字符、union、双查询

怎么辨认呢,黑盒测验,你能够进行加单引号或者是and 1=1来进行检查页面是否有改变。

①报错注入

这几条句子显现的十分清楚了,传过来一个id,进行了数据库句子操作,然而对$query没有进行安全过滤操作,直接进数据库。导致了sql注入发作。那么在进行单引号操作之后,页面发作一些过错。提示咱们在1邻近有单引号。

http://127.0.0.1/dvwa/Less-1/?id=1′ and 1=0union select 1,count(*),concat((select email_id from emails whereid=5),0x2a,floor(rand(0)*2))x from users group by x–+

②数字型注入

在这个句子里边,没有单引号的维护,导致了数字型注入。和前面报错注入剖析是相同的。只不过有了一个在进入数据库今后,会对一些符号进行转义,加上反斜杠。安全性恰当加高。

时刻注入

时刻注入函数,首要是今后两个函数进行验证,time()函数和bendwith(),现在数据库都是大于5.0今后版别,支撑time()操作,所以本文一下都是选用time()函数,来进行解说的。

[1] [2] [3]  黑客接单网

相关文章

记一次对WebScan的Bypass

今日测验了一个网站,发现存在360webscan的阻拦,所以便开端了一波“bypass”。 进入主题 1. 判别注入点 运用“and 1=1”测验了一下,惨遭阻拦。随后又测验了一下or也是被阻拦的。...

Web爬虫:多线程、异步与动态署理开始

在收集数据的时分,经常会碰到有反收集战略规矩的WAF,使得原本很简略工作变得复杂起来。黑名单、约束拜访频率、检测HTTP头号这些都是常见的战略,不按常理出牌的也有检测到爬虫行为,就往里注入假数据回来,...

由此次阿里云事情谈粗犷的安全防护手法

 昨日阿里接连爆出了两个有意思的事情,一是阿里云服务器呈现毛病,导致误删除了许多用户文件( http://www.weibo.com/1747505067/CyvEkrxPS );二是阿里供认下一年校...

SCP指令注入

我最近正在研讨Java文件传输,碰到了一些风趣的问题。这些问题是我在看到一篇博客中的几个示例代码中发现的。这篇文章描述了用Java履行SCP指令的体系,运用的是盛行的JSch库。当我通读整个代码之后,...

根底事情呼应中的Volatility作业流程

最近,我发现自己需求对完好内存转储进行一些查询。通过一段时间的搜索,我发现了Volatility-Labs的这篇文章,依据其间的辅导办法,我能够很好的来评价内存转储。当然,你或许会有更好、更深度的内存...

运营商互联网事务暴出面安全

关于一个战士来说,最大的愿望便是能上战场真刀实枪的干上一战,相同关于一名安全人员来说,自己规划、建造的通过层层防护的系统,假如没有经历过一次进犯,难免有点索然寡味。在许多的甲方傍边,运营商互联网事务暴...