北京市住房城乡建设部网站,网站地图的使用,网页视频下载器免费,wordpress功能插件一、文章简介 整合一些web漏洞#xff0c;以及对漏洞的理解。
二、Web漏洞
1.SQL注入
#xff08;1#xff09;定义 开发者程序编写过程中#xff0c;对传入用户数据过滤不严格#xff0c;将可能存在的攻击载荷拼接到SQL查询语句当中#xff0c;再将这些查询语句传递到…一、文章简介 整合一些web漏洞以及对漏洞的理解。
二、Web漏洞
1.SQL注入
1定义 开发者程序编写过程中对传入用户数据过滤不严格将可能存在的攻击载荷拼接到SQL查询语句当中再将这些查询语句传递到后端的数据库执行从而引发实际执行的语句与预期不一致的情况。
2利用
1、数字型输入点附近没有引号包裹$_GET[id]运算模式能被运算即11 2
2、字符型$id运算模式无法运算即11 11
3碰到的问题
1、联合查询只有一行结果无法显示所需要的
答用 limit 进行参数限制 或者 另一条记录用一个很大的值使其无法被查询到
2、注入语法示例
答 xxxxxunion select table-name,1 from information_schema.tables where table_schemadvwa# xxxxxunion select column_name,1 from information_schema.columns where table_nameusers#
3、注入流程
答 1、判断字符型还是数字型 2、判断字段数量 3、查看回显字段 4、获取数据库和用户名 5、查表名 6、查表字段 7、读取
注复选框则通过Burpsuite抓包repeater若引号无法使用将表名改为database()自动获取以及十六进制转换提交。
4防御
1、查询前的条件利用函数判断函数过滤
2、输入转义、参数化查询
3、waf防护、云端防护
5注入思路
1、只过滤空格 url编码代替空白符如%09
2、将select替换为空 嵌套构造如selselectect
3、大小写匹配 大小写混写如sElect
4、正则匹配 构造绕过如正则\bselect\b /*!50000select*/
5、逃逸引号 编码绕过\转义
6、字符串截断 \转义
6危害 获取敏感数据权限提升控制关键文件控制整个数据库执行系统命令
2.任意文件读取
1定义 攻击者通过一些手段读取服务器上开发者不允许读到的文件。
2利用
1、php的 php://filter 伪协议
2、Python的 feature函数
3、java的 file://协议
4、Ruby on Rails远程代码执行漏洞CVE-2017-14849;CVE-2018-3760;CVE-2019-5418
5、node模板注入、代码注入
6、nginx配置错误导致目录穿越/static../ /static/../
3思路
1、爆破目录
2、利用filter协议php://filter/convert.Base64-encode
3、利用zip协议zip://uploads/xxx.png#1.php
3.SSRF漏洞服务器请求伪造
1定义 攻击者通过构造数据进而伪造服务器端发起请求的漏洞通常是服务端提供了从外部服务获取数据的功能但没对目标地址协议等参数进行过滤限制导致攻击者可以自由构造函数发起预期外的请求。
2利用 1、测试是否能控制支持常见协议file://etc/passwd 、dict://xxx.xxx.xxx:xxxx/info 、gopher://xxxxx 2、写入Crontab反弹shell攻击Redis 3、DNS重绑定
4.命令执行漏洞
1定义 调用函数执行命令且未对输入做过滤处理。
2利用 构造使其能同时执行多条命令即可
3思路
1、黑名单关键字利用变量进行拼接使用通配符?/*借用已有字符 substr() 截取
2、无回显指令外带在平台上获取执行结果for /F %x in (xx) do xxxxxor (curl xx/xxx)时间盲注ping -nc 5 xxxxx;命令写入web目录下x.php?cmdwhoamitest再访问文件。
3、正则限制找缺漏如正则未多行匹配进行绕过
4、限制命令长度利用上传的文件名字拼接
5.XSS跨站脚本攻击
1定义 利用网页开发的漏洞注入恶意代码到网页使用户加载并执行攻击者恶意制造的网页程序
2利用
1、存储型恶意代码被服务器存储在访问页面时会直接触发。
2、反射型恶意代码未被服务器存储每次出发通过GET/POST方式提交触发。
3、DOM型在前端通过JS渲染完成数据交互且不经过服务器不需要与服务器交互。
3思路
1、特殊标签闭合实现payload逃逸
2、闭合引号在变量传入恶意代码
3、on事件img标签input标签的autofocus属性
4、伪协议 javascript:xxx 如 javascript:alert(1)
5、data伪协议如data:text/html;base64,PHNjcmlwdD5hbGVydCgieHNzIik8L3NjcmlwdD4
注乱码为scriptalert(xss)/script的base64编码
6、借助模板的二次渲染完成沙箱逃逸jinjia2
7、html编码
8、变量替代
9、闭合引号转义
10、JSONP命令接口callbackxxxxxx
注JSONP:解决主流浏览器的跨域数据访问指向一个接口动态添加
4防御
1、httponly
2、输入检查
3、输出检查安全的编码函数
6.web文件上传漏洞
1定义 实现文件上传时没有对用户上传的文件做好处理
2利用
1、00截断x.php/00.jpgx.php
2、转换字符集造成截断
3、文件后缀绕过php3/php5/phtml/pht
4、上传.htaccess/.user.ini
5、IIS解析漏洞x.asp;a.jpgx.asp
6、Nginx解析漏洞先构造代码将后缀改为jpg之后上传x.jpg文件访问x.jpg/1.php因为该文件不存在且要用php解析故最后以php解析了x.php
7、Apache解析漏洞使用AddType时x.php.xxx文件由于没有对应的处理器处理xxx所以往左识别出php交给php处理器处理
8、Apache CVE-2017-15715漏洞FilesMatch指令正则中$能匹配到换行符导致.php\n的文件能被解析
9、location匹配顺序导致绕过
注location ^~:普通字符串匹配后不再进行正则匹配location:大小写敏感前缀匹配不是完全匹配则会继续匹配location ~:正则匹配匹配成功则不考虑后面的
10、临时文件利用
11、死亡之die绕过使用字符串过滤器把exit()处理掉upload.php --data filenamephp://filter/writeconvert.base64-decode/resourcex.php
12、zip文件绕过zip文件在文件被删除前访问文件生成另一个脚本文件到非上传目录中不断上传访问最终成功解压到一半失败的zip包目录跳跃当使用第三方解压方法时文件名为../x.php
3碰到的问题
1、web服务器中配置上传目录的脚本文件禁止访问
答将目录穿越上传到根目录../x.php。
2、文件上传到OSS云服务器怎么办
答当网站把OSS绑定在自己的二级域名下时就能用了。
3、上传文件无法被解析访问
答上传一个php文件配合文件包含实现解析page.php?uploadx.php
4、getimgesize检测文件是否为正常图片的绕过
答php代码添加到图片内容后即可
5、imagecreatefromjpeg绕过
答上传正常图片下载回渲染后的图片运行脚本处理将代码注入图片上传新生成的图
7.反序列化漏洞
1反序列化定义 将对象的状态信息转换为可存储或者可传输的过程就是序列化反序列化是为了方便对象的传输获取之前的对象
2利用
1、__wakeup失效 CVE-2016-7124属性个数不正确使wakeup失效后利用destruct写入文件
2、bypass反序列化正则拦截逃逸函数中存在的判断在对象名的长度前加上号即可
3、字符逃逸CVE-2015-8562类中不存在的属性也会进行反序列化因字符数不对应出错本身过滤函数使用后会变为2倍出错故直接写入正确数量插入。插入;i:1;s:8:scanfsec;}长度为22原序列添加22个x且长度加22*244个