web第一周任务

📅 发布时间:2026/7/12 18:28:44 👁️ 浏览次数:
web第一周任务
一.搭建一个站点并写出一个Hello World网页页面1.打开phpstudy在首页开启Apachec2.4.39MySQL5.7.262.点击网站创建新网站输入域名为www.demo.com,点击确定就创建成功了3.点击站点管理打开根目录在根目录中创建一个新的文本文档命名为index.php4.右击打开方式中选择vscode打开输入代码?phpechoHello World!;?5.保存文档时选择另存为.php6.保存完成后打开phpstudy点击站点中的打开网站刷新后就有Hello World新页面二.文件上传漏洞文件上传漏洞是Web安全中高频高危漏洞核心是攻击者利用网站文件上传功能上传恶意文件如木马、后门脚本并执行进而控制服务器或窃取数据。1.漏洞核心原理网站未对上传文件进行严格校验或校验逻辑可被绕过导致攻击者上传的恶意文件被服务器接收并执行关键触发条件1 服务器允许上传文件如头像、附件、文档功能2 未校验文件类型、后缀、内容或权限3 上传文件的存储路径可预测如固定 /upload/ 目录4 服务器支持上传文件的脚本解析如PHP、ASP、JSP环境。2.常见攻击方法1后缀名绕过核心利用服务器/脚本解析规则差异修改恶意文件后缀如 shell.php改为shell.php.jpg 、 shell.pHp 典型场景服务器仅校验后缀名大小写、黑名单不全遗漏 .php5 .phtml 等后缀。2MIME类型绕过核心篡改HTTP请求头中 Content-Type 字段如将PHP文件的 application/x-httpd-php 改为 image/jpeg 欺骗服务器的类型校验。3内容伪装绕过核心在恶意脚本前添加合法文件头如图片文件的 GIF89a 标识使服务器误认为是图片/文档上传后通过路径访问执行脚本4路径穿越绕过核心上传时构造文件名如 ../../shell.php 突破服务器指定的存储目录将恶意文件写入网站根目录可直接访问执行。5服务器解析漏洞利用核心利用服务器配置缺陷如Apache的 AddHandler 配置错误、Nginx的 php_admin_value 不当使非脚本后缀文件被当作脚本解析如 shell.jpg 被解析为PHP。6大小写绕过3.漏洞危害1 网站篡改上传恶意HTML文件替换网站首页挂黑产广告、钓鱼页面2服务器入侵通过木马脚本执行系统命令如 whoami ls 窃取服务器文件、数据库账号3 内网横向渗透控制服务器后作为跳板攻击内网其他主机4数据泄露窃取网站用户数据账号密码、个人信息用于黑产交易。4.防御方案核心多重校验最小权限1前端校验作为辅助限制文件后缀白名单仅允许 .jpg .png .doc 等必要格式校验文件大小防止超大文件DoS攻击。2后端校验核心严格执行后缀名校验用白名单替代黑名单仅允许指定后缀拒绝所有可疑后缀如 .php .asp .jsp 及变种文件类型校验不依赖 Content-Type 直接读取文件二进制头如图片文件头 FFD8FF 89504E47 内容校验对上传文件进行解析如图片用GD库重绘、文档用第三方库校验剔除恶意代码文件名处理随机生成文件名如 uuid后缀 避免路径穿越和文件名猜测。3服务器配置关键阻断执行上传目录独立存放禁止脚本解析如Apache配置 php_flag engine off Nginx禁止上传目录执行PHP限制上传目录权限仅授予「读/写」权限禁止「执行」权限对应Linux 644 权限而非 755 禁用危险函数PHP环境通过 php.ini 禁用 exec system eval 等命令执行函数部署WAF通过Web应用防火墙如阿里云WAF、ModSecurity拦截恶意上传请求。4运维监控日志审计记录所有文件上传操作上传者IP、文件名、路径定期排查异常实时监控监控上传目录文件变化发现可疑脚本立即告警。三.upload靶场1--12题解题过程打开phpstudy启动Apache服务打开浏览器输入http//127.0.0.1/upload-lads-master与所建文件夹名字一致就进入了靶场页面1.pass-01首先写一个一句话木马php文件上传到服务器木马内容是?phpeval($_POST[1])?直接上传被拦截有一个弹窗想办法绕过拦截直接上传所以禁用了Javascript不允许之后就上传成功了2.pass-02先随便上传一个php文件显示文件类型不正确使用burpsuite抓包看一下看到文件类型为application/octet-stream既然显示上传文件类型不对那么后端大概率检测的是上传文件的文件类型那么我们抓包这块把文件类型改为png的文件类型image/png点击放行就成功了观察源代码发现$_FILES[upload_file][type]由客户端请求头的Content-Type决定抓包后把php文件的content-type改为三种中的一种即可上传绕过检验然后新建标签页打开图像测试能不能链接蚁剑点开就可以查看或者修改文件3.pass-03直接上传PHP文件提示不允许上传.asp,.aspx,.php,.jsp后缀文件需要我们绕过它并让服务器能解析我们上传的文件上传一个php文件然后用burpsuite抓包修改后缀名为php3放行后上传成功但是我用蚁剑连接时显示返回数据为空找不到原因4.pass-04继续试一下PHP文件上传不成功这时创建一个.htaccess文件写上内容Sethandler application/x-httpd-php进行上传上传成功再将一句话木马上传同样上传成功5.pass-05这一关我们用.use.ini绕过,先用cmd打开终端把一句话木马和一张图片合成一个新文件新建一个.use.ini后缀的文件输入auto_prepend_file1.jpg上传该文件再把php文件上传连接蚁剑时我的数据返回为空6.pass-06抓包修改为PHP放行即可7.pass-07空格绕过抓包后再后面加几个空格8.pass-08源码缺少去除文件名后面的点所以用后缀加点绕过同样上传一个php文件后抓包后缀加点放行复制图片链接用蚁剑连接成功9.pass-09发现这一关比别的少了字符串::$DATA的限制继续抓包在文件后缀加一个::$DATA然后放行上传成功用新链接打开图片发现了403错误去掉::$DATA字符串然后复制路径用蚁剑连接成功10.pass-10这一关限制条件都在所以我们选择在后缀名加. .依旧抓包修改后缀名上传成功用蚁剑连接成功11.pass-11这一关出现了新函数会把黑名单里的后缀替换成空白但只执行一次所以我们抓包改后缀名为.pphphp这样遇到php变空白后后缀名依旧是php上传后用蚁剑连接成功12.pass-12查看代码发现前面的方法都不行了可以试试%00截断上传jpg的文件抓包在上面upload后面加2.php%00上传后新链接打开图像后发现找不到把php后面的内容都删了。就恢复正常然后连接蚁剑成功