当前位置: 首页 > news >正文

intitle 做网站做线上网站需要钱吗

intitle 做网站,做线上网站需要钱吗,网站正在建设中请稍后,尚德机构实验目的 学习sql显注的漏洞判断原理掌握sqlmap工具的使用分析SQL注入漏洞的成因 实验工具 sqlmap是用python写的开源的测试框架,支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,I…

实验目的

  • 学习sql显注的漏洞判断原理
  • 掌握sqlmap工具的使用
  • 分析SQL注入漏洞的成因

实验工具

  • sqlmap是用python写的开源的测试框架,支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase,SAP,MAXDB并支持6种SQL注入手段。

    实验内容

SQL注入(SQL Injection )

  • SQL注入攻击的产生 当应用程序使用输入内容来构造动态SQL语句以访问数据库时,会发生SQL注入攻击。 如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生SQL注入。

  • SQL注入漏洞的本质是把用户输入的数据当做代码来执行,违背了数据与代码分离的原则。

  • SQL注入漏洞有两个关键条件,理解这两个条件可以帮助我们理解并防御SQL注入漏洞:

    • 用户能控制输入的内容

    • Web应用执行的代码中,拼接了用户输入的内容

实验步骤

本次实验中,我们先手工发现注入点,再使用sqlmap工具来注入。

步骤1:SQL注入漏洞验证

本步利用手工发现sql显注

什么是sql显注:在sql注入的漏洞分类中,如果程序员没有对数据库的报错进行过滤,那么数据库所以产生的错误信息将呈现给前台的用户。当我们进行测试时,通过报错信息来证明用户的输入传递至数据库,此种漏洞的类型即为sql显注。

首先我们输入在浏览器中打开目标机网址172.16.12.2进入漏洞验证平台,登录用户名为admin,密码 password,是个典型的弱密码。

在右侧下方的DVWA Secruty设置中,将DVWA漏洞演示环境的安全级别设置为Low级别。

来到SQL Injection 显注的页面。

步骤2 :手工判断注入点

看到他的user ID 是可以随意输入的

输入1的情况下返回的页面情况(网站正常的访问策略)

如果尝试输入1‘的情况下返回错误页面

我们发现页面中报错是直接返回数据库的报错信息,至此可以断定此页面存在sql注入,并且为显注模式。

步骤3:使用sqlmap

本步骤将使用sqlmap对目标注入点进行扫描

sqlmap简介: sqlmap是一个开源的渗透测试工具,可以自动检测和利用SQL注入漏洞。并且它拥有一个强大的检测引擎,在安全人士眼中,这是一款必备的安全工具。

sqlmap常用选项:

  • -u "url" 指定要测试的网页URL,常用于get类型的url测试。
  • --cookie="cookie值“ 指定测试链接时所使用的cookie,常用于需登录后方能访问的页面。
  • -p 指定存在注入点的参数,可提高sqlmap的检测效率。
  • -r 从文件读取数据

准备工作1:我们需要启动burpsuite工具

准备工作2:我们需要将浏览器的代码配置为 127.0.0.1 端口 8080

  • 浏览器 “首选项”---->“高级” ---->“网络”---->"连接" “设置” ---->填入代理地址后保存退出即可。

    如果配置成功,我们DVWA页面,我们将看到burpsuite的proxy选项卡中,成功的抓取到HTTP请求。 并且我们能看到一行对本次试验非常重要地方:PHPSESSID=xxxxx,security=low

至此准备工作已经全部完成,开启我们的攻击之旅啦

在burpsuite的intercept中右键,将截获的信息保存到文件中。

开启终端,使用sqlmap攻击,使用-r参数:

我们所使用的sql语句为: sqlmap -r /root/2

至此我们成功使用sqlmap对URL进行了注入测试,我们可以清晰的看到sqlmap成功的对URL进行了测试。

在输出中,成功的检测到目标主机的数据库版本、操作系统版本,PHP版本以及Apache的版本。

实验分析

  • 本步骤将针对源代码进行审计,探寻漏洞产生的原因。

<?php 
if(isset($_GET['Submit'])){// Retrieve data$id = $_GET['id'];$getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id'";$result = mysql_query($getid) or die('<pre>' . mysql_error() . '</pre>' );$num = mysql_numrows($result);$i = 0;while ($i < $num) {$first = mysql_result($result,$i,"first_name");$last = mysql_result($result,$i,"last_name");$html .= '<pre>';$html .= 'ID: ' . $id . '<br>First name: ' . $first . '<br>Surname: ' . $last;$html .= '</pre>';$i++;}
}
?>

当代码获取用户所传入的参数后,直接带入sql进行查询

在正常情况下,传输至数据库的语句为:select first_name,last_name from users where user_id='1';

而当攻击者输入1‘后,传输至数据库的语句则变成:select first_name,last_name from users where user_id='1'';

当出现了2个‘后,则前面的一个闭合了代码中的’,但多出的一个‘则会导致sql产生错误,并且直接传回至web页面。

这也是为何我们使用1’测试显注的方式。

http://www.yayakq.cn/news/329668/

相关文章:

  • 浙江省住房建设局网站首页WordPress客户端
  • 青海网站建设哪家好家里做网站买什么服务器好
  • 企业门户网站建设 北京网站建设和营销
  • 手机网站竞价单页检察院门户网站建设情况总结
  • 网站开发 ide网站404页面制作
  • ktv网站建设中企动力网站推广
  • 何为网站开发做网站英语老师的简历
  • 网站被黑能查到是谁做的吗装修公司最怕三种人
  • 公司网站模板设计网站主机免备案吗
  • 营销网站制作设计上海 网站建设 外包it
  • 网站建设服务哪便宜百度地图在线查询
  • photoshop网站视觉设计步骤代做毕业设计网站多少钱
  • 学生怎样建设网站查询网站备案查询
  • 青锐成长计划网站开发过程济宁建设局网站首页
  • 扬州做网站公司哪家好魔域永恒网页游戏
  • 网站侧边栏导航代码免费建网站哪个网好
  • 企业 网站 建设 规范重庆市工程建筑造价信息网
  • 兰州市建设工程质量监督站网站个人网站备案能做什么内容
  • 津南区提供网站建设协议广州网站开发 细致广州亦客网络
  • 爱站网是干什么的深圳app开发公司排行
  • 厦门做网站优化哪家好建设工程合同备案是在网站上吗
  • 学校门户网站建设必要性甘肃兰州地震最新消息
  • 仙桃有哪些做网站的公司品牌网站建站目的
  • 韩国 网站 域名台州低价关键词优化
  • 中国五大门户网站化妆品网站系统规划
  • 网站开发 运行及维护做网站可以用哪些软件
  • 建设内部网站中国国音电商平台官网
  • 深圳专业建站公司签约网站做PPT
  • 网站结构 扁平结构 树状结构html5网站带后台
  • 网站空间1g多少钱一年建设网站应该加什么服务