WEB漏洞01

CTE,SRc,红蓝对抗,实战等#简要说明以上漏洞危害情况
#简要说明以上漏洞等级划分
#简要说明以上漏洞重点内容
#简要说明以上漏洞形势问题

靶场搭建:https://github.com/zhuifengshaonianhanlu/pikachu

docker环境,我这里使用Ubuntu

[root@oldjiang ~]# docker pull area39/pikachu
[root@oldjiang ~]# docker run -d -p8080:80 area39/pikachu
72ddd9a05d31fdb921765519c413f3f97dbb34560c9c14d9aa59de73e5d6b3eb

在网页上方有初始化按钮,先进行初始化:建立数据库等

sql注入之数字注入

SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱裤、被删除、甚至整个服务器权限沦陷)。在构建代码时,一般会从如下几个方面的策略来防止SQL注入漏洞:
1.对传进SQL语句里面的变量进行过滤,不允许危险字符传入;
2.使用参数化(Parameterized Query 或 Parameterized Statement);
3.还有就是,目前有很多ORM框架会自动使用参数化解决注入问题,但其也提供了"拼接"的方式,所以使用时需要慎重!SQL注入在网络上非常热门,也有很多技术专家写过非常详细的关于SQL注入漏洞的文章,这里就不在多写了。
你可以通过“Sql Inject”对应的测试栏目,来进一步的了解该漏洞。

在靶机上登录数据库:

#查看运行的容器
crabin@crabin-virtual-machine:~$ docker ps
WARNING: Error loading config file: /home/crabin/.docker/config.json: EOF
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
1b1fa9bf0792        mysql               "docker-entrypoint.s…"   15 minutes ago      Up 15 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
567c3230c489        area39/pikachu      "/run.sh"                About an hour ago   Up About an hour    3306/tcp, 0.0.0.0:8080->80/tcp      pedantic_turing#进入area39/pikachu容器
crabin@crabin-virtual-machine:~$ docker exec -it 567c3230c489 bash
#查看create_mysql_users.sh
root@567c3230c489:/# vim create_mysql_users.sh

也可以在 config.inc.php 文件中查看默认配置

root@567c3230c489:/# ls
app       bin   create_mysql_users.sh  etc   lib    media  opt   root  run.sh  srv               start-mysqld.sh  tmp  var
bd_build  boot  dev                    home  lib64  mnt    proc  run   sbin    start-apache2.sh  sys              usr
root@567c3230c489:/# cd app/inc
root@567c3230c489:/app/inc# ls
config.inc.php  function.php  mysql.inc.php  showvcode.php  uploadfunction.php
root@567c3230c489:#vim config.inc.php
#登录 root 密码为空 ,
root@567c3230c489:/# vim create_mysql_users.sh
root@567c3230c489:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 5.7.26-0ubuntu0.18.04.1-log (Ubuntu)Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

我们在数据库中运行下面语句,我们可以得到users数据表中的数据

mysql> select username, pw from member where id=1 union select username, password from users;
+----------+----------------------------------+
| username | pw                               |
+----------+----------------------------------+
| vince    | e10adc3949ba59abbe56e057f20f883e |
| admin    | e10adc3949ba59abbe56e057f20f883e |
| pikachu  | 670b14728ad9902aecba32e22fa4f6bd |
| test     | e99a18c428cb38d5f260853678922e03 |
+----------+----------------------------------+
4 rows in set (0.00 sec)

利用这个漏洞得到权限用户,SQL注入:

bp抓包:

即可

这里我们自己搭建的靶机,我们自己知道数据库中的字段名字和大小,在实际中我们需要先确定目标数据库中的字段

目录遍历漏洞

 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台再执行其对应的文件。 在这个过程中,如果后台没有对前端传进来的值进行严格的安全考虑,则攻击者可能会通过“../”这样的手段让后台打开或者执行一些其他的文件。 从而导致后台服务器上其他目录的文件结果被遍历出来,形成目录遍历漏洞。

在网站根目录创建 xx.php 文件 ,我们在网站中访问这个文件

就是这个目录下的文件

既然这样我们在title后面的传值:…/…/…/…/xx.php 能不能访问到我们的xx.php文件

在app(根目录)下面创建文件:dir.php

<?phpfunction my_dir($dir) {$files = [];if(@$handle = opendir($dir)) {while(($file = readdir($handle)) !== false) {if($file != ".." && $file != ".") {if(is_dir($dir . "/" . $file)) { //如果是子文件夹,进行递归$files[$file] = my_dir($dir . "/" . $file);} else {$files[] = $file;}}}closedir($handle);}return $files;
}echo "<pre>";
$d= $_GET['d'];
print_r(my_dir($d));
echo "</pre>";

访问: http://192.168.222.131:8080/dir.php?d=…/app

可得到全部目录

也可以得到根目录的上级目录 : http://192.168.222.131:8080/dir.php?d=…/lib

在实际中我们可以通过目录扫描工具得到网站目录结构利用这个漏洞得到我们想要查看的网站目录下的文件,这个文件目录遍历漏洞还是需要和其他漏洞一起才可以发挥更大作用

文件下载漏洞

文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后 会开始执行下载代码,将该文件名对应的文件response给浏览器,从而完成下载。 如果后台在收到请求的文件名后,将其直接拼进下载文件的路径中而不对其进行安全判断的话,则可能会引发不安全的文件下载漏洞。
此时如果 攻击者提交的不是一个程序预期的的文件名,而是一个精心构造的路径(比如../../../etc/passwd),则很有可能会直接将该指定的文件下载下来。 从而导致后台敏感信息(密码文件、源代码等)被下载。 所以,在设计文件下载功能时,如果下载的目标文件是由前端传进来的,则一定要对传进来的文件进行安全考虑。 切记:所有与前端交互的数据都是不安全的,不能掉以轻心!
你可以通过“Unsafe file download”对应的测试栏目,来进一步的了解该漏洞。

点击下载时的链接:http://192.168.222.131:8080/vul/unsafedownload/execdownload.php?filename=kb.png

我们可以通过传入filename 的值来下载对应的文件, 如现在来下载我们在app目录(网站根目录)的上级目录下的xx.php:http://192.168.222.131:8080/vul/unsafedownload/execdownload.php?filename=…/…/…/…/xx.php

在实际中:

某个app下载网站: http://down.znds.com/apk/app/2019/0515/7033.html

L2Rvd24vMjAyMDA5MjcvZGJzY2pzYl80LjIuM19kYW5nYmVpLmFwaw== 用base64解码:/down/20200927/dbscjsb_4.2.3_dangbei.apk而实际的下载地址:
http://113.219.132.41/app.znds.com/down/20200927/dbscjsb_4.2.3_dangbei.apk

这里的就是把实际地址进行加密得到值传入s得到下载地址 如果我们根据目录得到该网站的目录要想得到目录下的某个文件就可以通过 这个目录的地址 再进行base64加密进行下载

【网络安全】WEB漏洞 pickchu靶场搭建:实例演示sql数字注入、目录遍历漏洞、文件下载漏洞相关推荐

  1. 【愚公系列】2023年05月 网络安全高级班 067.WEB渗透与安全(Havij实战-SQL自动化注入)

    文章目录 前言 一.Havij实战-SQL自动化注入 1.简介 2.功能 3.使用 3.1 开启注入 3.2 注入日志 3.3 详细信息 3.4 查看数据 3.5 MD5破解 3.6 寻找后台 3.7 ...

  2. php post 漏洞_文件包含上传漏洞目录遍历命令执行漏洞

    制丨阿星 来源丨freebuff 作者丨Deutsh 文件上传漏洞: 一句话木马 一句话木马主要由两部分组成:执行函数与 接收被执行代码的变量 执行函数: eval() assert() create ...

  3. 掌握渗透测试,从Web漏洞靶场搭建开始

    摘要:漏洞靶场,不仅可以帮助我们锻炼渗透测试能力.可以帮助我们分析漏洞形成机理.更可以学习如何修复提高代码能力,同时也可以帮助我们检测各种各样漏洞扫描器的效果. 本文分享自华为云社区<Web漏洞 ...

  4. 16个网络安全常用的练习靶场(小白必备)

    16个网络安全常用的练习靶场(小白必备) DVWA (Dam Vulnerable Web Application) DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性 ...

  5. Web安全 目录遍历漏洞(带你畅读 服务器中的机密文件.)

    目录遍历漏洞概括: 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能便的更加灵活. 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台 ...

  6. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十四)-任意文件下载漏洞(2)

    目录 前言: 3.编写"任意文件下载漏洞"后台 4.编写"任意文件下载漏洞"前台 5.运行测试 前言: 前面的博客记录学习任意文件下载漏洞相关知识,并思考如何构 ...

  7. 用友ERP-NC 目录遍历漏洞-实战

    漏洞描述 用友ERP-NC 存在目录遍历漏洞,攻击者可以通过目录遍历获取敏感文件信息. 漏洞影响 用友ERP-NC POC <ip:port>/NCFindWeb?service=IPre ...

  8. phpcms前台注入导致任意文件读取漏洞

    关于:phpcms前台注入导致任意文件读取漏洞的修复问题 简介: phpcms的/phpcms/modules/content/down.php文件中,对输入参数 $_GET['a_k']未进行严格过 ...

  9. 大华城市安防监控系统平台管理存在任意文件下载漏洞

    大华城市安防监控系统平台管理存在任意文件下载漏洞 1.大华城市安防监控系统平台管理存在任意文件下载漏洞 1.1.漏洞描述 1.2.漏洞影响 1.3.FOFA 2.漏洞复现 2.1.登录页面 2.2.抓 ...

最新文章

  1. 程序员千万不要选全栈开发
  2. Centos7上yum安装redis
  3. char,Character,int,字符及编码日记 1
  4. 周期性定时事件的处理
  5. 物料创建更新相关Table
  6. MVC根据CheckBox的Value值选中对应的复选框及获取选中的Value值
  7. MATLAB可以打开gms文件吗,gms文件扩展名,gms文件怎么打开?
  8. 备战520|Python花式表白的几种姿势
  9. Eagle个人博客系统
  10. 在VS工程中添加lib库的三种方法
  11. golang 图片处理,剪切,base64数据转换,文件存储
  12. 关于jQuery、AJAX、JSON(一)
  13. WordPress 跨站请求伪造漏洞
  14. 第九届蓝桥杯决赛大学A组
  15. 人工智能--学术会议排名
  16. 计算机语音发展,计算机语音合成技术研究及发展方向
  17. 如何根本上解决屎山代码的问题
  18. 第五章:量化研究专题(第四篇:统计套利:利用相关系数进行配对交易 )
  19. 微信小程序-将时间转换成几秒前 几分钟前 几小时前 几天前等时间格式
  20. 唐山校友会会长苏伟与徐飞校长的一次短信交流

热门文章

  1. = == === != !==的区别
  2. eclipse设置成全屏护眼色
  3. sanic web框架使用;sanic_jinja2模板使用
  4. 自制一个输入网址就能打开网站的程序
  5. 好的软件人员一生必看的六十本书
  6. Windows 2012 上import cv2出现ImportError:DLL load fail报错
  7. 用Vuforia(高通)开发VR/AR介绍
  8. 使用DB查询分析器实现异构数据源中数据表的相互访问
  9. iOS手机客户端https请求忽略证书认证
  10. CSS伪类实现中间文字两边横线效果