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

访客6年前关于黑客接单1336

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

相关文章

怎么经过乱用SSLTLS绕过Web应用程序防火墙

介绍 近些年来,Web安全现已逐步变成了IT安全范畴里十分重要的一个部分。Web运用的优势就在于开发人员能够在较短的时间内集成各种要害服务,并且保护难度也比传统的桌面端运用程序要低许多。除了规划新的...

三种对CORS错误配置的利用方法

同源战略(SOP)约束了应用程序之间的信息同享,而且仅答应在保管应用程序的域内同享。这有用避免了体系秘要信息的走漏。但与此一起,也带来了别的的问题。跟着Web应用程序和微服务运用的日益增长,出于有用意...

谷歌为G-Suite服务布置全新反钓鱼和歹意软件检测功用

Google 为 G Suite 服务推出了全新安全功用,包括企业云核算,生产力和协作东西。 现在企业用户能够运用 Gmail 来绑定企业自定义域名,并进行商务和企业内部的邮件联络。 而G Suite...

又见陈旧的Typosquatting进犯:这次侵略Npm盗取开发者身份凭据

有些进犯方式尽管听起来很天真,但有时分却也能够收效,比方typosquatting进犯——咱们前次看到这种进犯是在上一年6月份,这自身也是种很陈旧的进犯方式。 所谓的typosquatting,主要...

记载一次使用事务规划缺点缝隙的精彩实战测验

前语 前次的那篇文章《一名代码审计新手的实战阅历与感悟》得到了不少读者的支撑,也得到了FreeBuf这个渠道的必定,这给了我这个菜的不能再菜的小菜鸟很大的决心。可是,不足之处仍是许多,比方文章中呈现的...

ARM架构上用来替代JTAG的调试协议SWD-黑客接单平台

关于嵌入式开发人员和专门进犯硬件的黑客来说,JTAG 实践上是调试和拜访微处理器寄存器的标准。该协议已运用多年,至今仍在运用,JTAG调试接口有必要运用VCC、GND电源信号,以及TMS、TCK、TD...