渗透笔记-WEB漏洞-必懂知识点
小迪笔记 v9
简要的介绍WEB方面漏洞知识。
SQL注入漏洞-数据库操作危害
目录遍历漏洞-源码结构i漏洞危害
文件读取漏洞-源码内容获取危害
文件上传漏洞-WEB权限丢失危害
1.搭建学习靶场
首先学习搭建好phpstudy DVMA环境
启动
电脑浏览器访问 127.0.0.1 显示如下则成功安装。
配置Mysql环境变量
复制PHPStudy 下的目录:
F:\phpstudy_pro\Extensions\MySQL5.7.26\bin
添加环境变量
打开命令窗口
输入 mysql -u root -p
输入密码显示如下 配置成功
下载dvwa:http://www.dvwa.co.uk/
创建网站 将下载的DVWA-master放在WWW目录下
打开配置
去掉dist后缀
打开文件修改数据库用户和密码
浏览器输入127.0.0.1/DVWA-master/打开网址开始创建
输入用户和密码
默认密码 admin, password
搭建pikachu靶场类似
pikachu:https://github.com/zhuifengshaonianhanlu/pikachu
修改配置文件
访问安装地址
了解SQL
这里是引用
SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱裤、被删除、甚至整个服务器权限沦陷)。
cmd 输入
mysql -u root -p
由此可见前端与数据库交互
了解目录遍历
这里是引用
在web功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台再执行其对应的文件。 在这个过程中,如果后台没有对前端传进来的值进行严格的安全考虑,则攻击者可能会通过“…/”这样的手段让后台打开或者执行一些其他的文件。 从而导致后台服务器上其他目录的文件结果被遍历出来,形成目录遍历漏洞。
看到这里,你可能会觉得目录遍历漏洞和不安全的文件下载,甚至文件包含漏洞有差不多的意思,是的,目录遍历漏洞形成的最主要的原因跟这两者一样,都是在功能设计中将要操作的文件使用变量的 方式传递给了后台,而又没有进行严格的安全考虑而造成的,只是出现的位置所展现的现象不一样,因此,这里还是单独拿出来定义一下。
需要区分一下的是,如果你通过不带参数的url(比如:http://xxxx/doc)列出了doc文件夹里面所有的文件,这种情况,我们成为敏感信息泄露。 而并不归为目录遍历漏洞。(关于敏感信息泄露你你可以在"i can see you ABC"中了解更多)
你可以通过“…/…/”对应的测试栏目,来进一步的了解该漏洞。
已知
获取 xx.php
了解文件上传
文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后,后台会对上传的文件进行判断
比如是否是指定的类型、后缀名、大小等等,然后将其按照设计的格式进行重命名后存储在指定的目录。
如果说后台对上传的文件没有进行任何的安全判断或者判断条件不够严谨,则攻击着可能会上传一些恶意的文件,比如一句话木马,从而导致后台服务器被webshell。
了解文件下载漏洞
文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后
会开始执行下载代码,将该文件名对应的文件response给浏览器,从而完成下载。
如果后台在收到请求的文件名后,将其直接拼进下载文件的路径中而不对其进行安全判断的话,则可能会引发不安全的文件下载漏洞。 此时如果
攻击者提交的不是一个程序预期的的文件名,而是一个精心构造的路径(比如…/…/…/etc/passwd),则很有可能会直接将该指定的文件下载下来。
从而导致后台敏感信息(密码文件、源代码等)被下载。