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

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

 经过之一节给咱们简略介绍了一下代码审计简略运用,那么第二节,咱们来介绍一下,使用东西和手艺进行缝隙发掘。为了咱们能对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]  黑客接单网

相关文章

使用QL和LGTM进行变异分析-黑客接单平台

在软件开发中,咱们常常看到相同的代码过错在项目的生命周期中重复呈现。这些相同的过错甚至会呈现在多个项目中。有时,这些过错一同有多个活动实例,有时一次只要一个活动实例,可是它们不断地从头呈现。当这些过错...

PHP反序列化与WordPress一些意外BUG的风趣结合

几个月前,我正在编写一篇关于PHP反序列化缝隙的博客文章,决定为这篇文章找一个实在方针,能够让我将测试数据传输给PHP unserialize ()函数来完结演示意图。所以我下载了一批WordPres...

Web缓存操控战略详解

Cache-Control 办理Web缓存的最常用和最有用的办法之一是经过Cache-Control HTTP标头,由于此标头适用于Web页面的缓存,这意味着咱们页面上的一切内容都能够具有十分精细化的...

网站被挂木马与777权限的微妙

 某天VIP大讲堂微信群里的一位同学说网站被人挂马了,查了半响也查不到原因。艺龙SEO负责人刘明问了一句“是不是技能把linux体系里网站的中心目录设置777文件权限了”,同学查后发现不出所料。那么,...

使用视觉含糊测验技能探究zalgoscript

请咱们先调查下面这条JavaScript句子: ̀̀̀̀̀́́́́́̂̂̂̂̂̃̃̃̃̃̄̄̄̄̄̅̅̅̅̅̆̆̆̆̆̇̇̇̇̇̈̈̈̈̈̉̉̉̉̉̊̊̊̊̊ͅͅͅͅͅͅͅͅͅͅͅalert(̋̋̋ͅ...

你的网站是怎样被黑的

前语 这个标题的来历是@evilcos(余弦大大)在Github上共享的一个PPT,感兴趣的能够去他的repo下载。写这篇博客主要是想给自己最近业余时间学到的安全相关的常识做个总结,主要是关于网站常见...