Python | 7招教你识别一个网站是否是Django后台

news/2024/5/20 9:28:41/文章来源:https://blog.csdn.net/weixin_34292959/article/details/89590443

目录:

  1. 利用Debug模式异常页面判断
  2. 通过CSRF Token验证
  3. Django Admin
  4. 通过HTTP头
  5. 拼凑细节
  6. 通过一些第三方模块的特点判断
  7. 分析静态文件

最近事情有点多,一直没有时间写原创,而又一直想写点什么,今天早上正好空下来,我就来写一篇Python的吧,这周末我总结下最近遇到的事情和以后的打算,和大家共勉。

平时开发们用Django写网站,你作为黑盒测试来说可能不需要关心以下的问题,但白盒呢?所以黑盒不想提升一下自己的能力吗?

今天我们就来说下,如何测试一个网站的后端是由Django编写的。

  1. 利用Debug模式异常页面判断
    最简单的就是,当DEBUG模式开启时,访问不存在的页面或出错的页面会有特殊的异常抛出。像这样的页面,我称之为黄代码(哈哈哈,写Django的自己知道,是不是经常会有),就可以确定是Django了

image

  1. 通过CSRF Token验证

访问一个包含表单的页面,表单中会有一个hidden input,用来存储CSRF检测的Token,其名字比较独特,csrfmiddlewaretoken:
image
遇到有这个名字的表单,基本可以确定是Django。

假如开发者将 csrfmiddlewaretoken 这个名字换了,怎么办?

我们可以把刚刚的hidden input 给删了,然后登陆,因为缺少CSRF TOKEN,会返回一个Django的CSRF TOKEN错误页面给你:
image

  1. Django Admin

安装Django的时候会自带一个后台,地址是/admin(不过大多数网站会替换后台地址):
image
遇到这个样式的后台界面,可以确定是Django。

  1. 通过HTTP头

有的Django站点会返回Server头:
image
虽然通过这种方式不能100%确定是Django后台,但范围就缩的很小了,是个Python,也就那几套Web了。

  1. 拼凑细节

比如,Django默认找回密码的链接是 /password_reset/ ,邮件发送成功是 /password_reset/done/ ,找回密码链接是 reset/(?P[0-9A-Za-z_-]+)/(?P[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/ ,找回密码成功是 /reset/done/ ,正常修改密码是 /password_change/ ,修改成功是 /password_change/done/ 。

不过这些链接都可以改,只能用作参考。

再比如,django文件上传的目录通常叫 media ,注册时密码要求8位以上数字加字母,分页通常是 ?page=2 而不会是 /page/2/ ,表单输入框的id通常是 id_xxxx ,中文的情况下还会有一些特定的翻译语句,如 请上传一张有效的图片。您所上传的文件不是图片或者是已损坏的图片。 、 CSRF验证失败. 相应中断. 等。

  1. 通过一些第三方模块的特点判断
    Django之所以好用,因为其代码耦合性很低,所以有丰富的第三方模块可以直接使用。通过这些模块的特点也能判断目标网站是否是Django。

常用的第三方模块有django-rest-framework、django-debug-toolbar、django-bootstrap3、django-filter、django-cron、django-allauth、django-simple-captcha等。

比如,django-rest-framework会有一个调试页面:
image
再比如,django-simple-captcha生成的验证码会包含一个名字是 captcha_0 ,值为40位hex的隐藏输入框。

这些第三方库的特点也可以辅助你判断,就是需要收集与细心观察了。

  1. 分析静态文件
    有的网站可能修改了Django的后台地址,但Django后台所使用的静态文件地址通常没有修改,也较难修改。

访问这些静态文件地址,看看内容是否是Django的这一套,就可以确定目标是否为Django,如 :http://0.0.0.0:8001/static/admin/css/dashboard.css
image
但这个方法有个局限,如果目标网站没有使用Django自带的django-admin(未将其包含在settings.py的INSTALLED_APPS中),就没有这个静态文件了。

原文发布时间为:2018-12-12
本文作者:上海小胖
本文来自云栖社区合作伙伴“ Python专栏”,了解相关信息可以关注“xpchuiit”微信公众号

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

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

相关文章

网站服务架构

服务器划分 对于访问量大的网站而言,将网站的各个部分拆分分别部署到不同服务器上是很有必要的。例如将图片和web站点分开。一般而言,在网站的整个服务器部署上分为如下几种类型: 文件服务器:一般存储系统的相关图片和文件&#x…

网站如何实现 在qq中发自己链接时,便自动获取链接标题、图片和部分内容

如何实现像这种效果&#xff1f;答案如下&#xff08;要采用分享的形式&#xff0c;复制链接有可能会实现不了效果&#xff0c;至少我的测试是这样的&#xff09; <head>标签内有QQ专有的标签可以控制要注意QQ的缓存机制&#xff0c;对同一个链接&#xff0c;修改后可能要…

前端代码在线调试分享网站

1、RunJs 2、CodePen 3、JsFiddle 转载于:https://www.cnblogs.com/taceywong/p/7498385.html

如何保证网站的安全架构,不被******

1. 网站安全的攻与防互联网环境鱼龙混杂&#xff0c;网站被***是常见现象&#xff0c;所以了解一些常见的网站***手段十分必要。下面列举比较常见的 4 种***手段&#xff1a;1.1. 跨站脚本***&#xff08;XSS&#xff09;概念跨站脚本***&#xff08;Cross-Site Scripting, XSS…

网站HTTP升级HTTPS完全配置手册

本文由葡萄城技术团队于51CTO原创并首发转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。今天&#xff0c;所有使用Google Chrome稳定版的用户迎来了v68正式版首个版本的发布&#xff0c;详细版本号…

用户访问网站的完整流程

用户访问网站的完整流程 在浏览器输入想要访问的域名之后&#xff0c;浏览器会进行域名解析获得IP地址&#xff0c;在经过TCP的连接&#xff0c;实现数据的传输就会有两种报文&#xff0c;及请求报文和响应报文。最终才能实现通信。因此想要实现通信&#xff0c;就得先弄懂DNS的…

关于亿级流量网站架构一书缓存机制的探讨

在京东的亿级流量网站架构一书&#xff0c;175页介绍缓存有这样一段话 仅就这段代码来看&#xff0c;在高并发情况下&#xff0c;实际上并不能阻止大量线程调用loadSync函数 当然这个书里的代码是作者的简写&#xff0c;这里探讨只是针对书中这段代码&#xff0c;实际生成代码应…

国内外有哪些实战型的前端学习网站?

编者按&#xff1a;学习前端知识太过乏味木有挑战&#xff1f;整天对着w3school打瞌睡&#xff1f;有一个很棒的观点与你分享&#xff1a;学习一门技术最佳的方法就是把它用起来&#xff01;如果你已经有了一点前端基础知识&#xff0c;但缺少实战经验&#xff0c;今天这组网站…

How-to: 使用 highcharts + MySQL 构建自己的简易网站监控系统

出自我的个人博客&#xff1a; http://www.suzf.net/thread-1001-345.html Highcharts 是一个用纯JavaScript编写的一个图表库。Highcharts 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表Highcharts 免费提供给个人学习、个人网站和非商业用途使用。HighChar…

【js与jquery】网站更换皮肤功能

2019独角兽企业重金招聘Python工程师标准>>> 2.html代码&#xff1a; [php] view plaincopy <div id"header"> <link rel"stylesheet" href"styles/skin/skin_0.css" type"text/css" id"cssfile" …

LINUX网站建设技术指南(转)

LINUX网站建设技术指南(转)[more]全书共8M&#xff0c;共分四卷&#xff0c;请全部下载后再解压。本书介绍如何在Linux下建立、运行并维护站点的综合技术&#xff0c;它适合于有一定的UNIX或Linux基本操作基础的网络建立者和维护者&#xff0c;同时也是广大Linux爱好者的一本较…

Web服务器群集--Nginx网站服务(Nginx制作管理,访问页面统计,虚拟主机以及访问控制)

Web服务器群集--Nginx网站服务&#xff08;Nginx制作管理&#xff0c;访问页面统计&#xff0c;虚拟主机以及访问控制&#xff09;前言一&#xff1a;Nginx服务基础1.1&#xff1a;Nginx概述1.2&#xff1a;Nginx编译安装1.3&#xff1a;运行控制1.4&#xff1a;Nginx添加为系统…

用 js 实现购物网站中的商品放大镜效果

首先说一下原理&#xff0c;以天猫某商品放大镜效果为例&#xff1a; 所谓的放大镜效果&#xff0c;其实也是欺骗我们眼球的一种效果&#xff0c;这里我们可以看到&#xff0c;图片显示去下面那一排小图与遮盖层的图片和放大层的图片其实是一样的&#xff0c;只是分辨率不同&am…

20分钟轻松制作移动网站

最近关于移动网站开发或APP轻应用的内容越来越多了&#xff0c;&#xff0c;有一些好的方法可以快速开发&#xff0c;但不系统&#xff0c;这里推荐一本书吧。PhoneGap的目的是用来快速开发移动跨平台 APP&#xff0c;它基于 HTML 5&#xff0c;支持市面上流行的移动设备&#…

纯html静态网站_ThinkPHP5中如何实现模板完全静态化

模板完全静态化&#xff0c;也就是通过模板完全生成纯静态的网页&#xff0c;相比动态页面和伪静态页面更安全更利于SEO访问更快。相比前二者各有利弊吧&#xff0c;现在稍微对这三种形式的优缺点对比一下&#xff0c;以及在ThinkPHP5项目中实现完全静态化的基本过程。对比1. 动…

dns-prefetch对网站速度能提升有多少?详解dns-prefetch。

DNS解析场景 有很多大型的网站&#xff0c;都会用N 个CDN 域名来做图片、静态文件等资源访问。比如新浪&#xff0c;我们经常会看到有下列域。 img1.sina.com.cn 、 img2.sina.com.cn 、img3.sina.com.cn 、img4.sina.com.cn 等等&#xff0c;包括天猫、京东等&#xff0c;都会…

王者风范 2分钟入侵网站全程实录(转)

王者风范 2分钟入侵网站全程实录(转)[more]  说起流光、溯雪、乱刀&#xff0c;可以说是大名鼎鼎无人不知无人不晓&#xff0c;这些都是小榕哥的作品。每次一提起小榕哥来&#xff0c;我的崇拜景仰就如滔滔江水&#xff0c;连绵不绝~~~~&#xff08;又来了&#xff01;&#…

python 学习网站

2019独角兽企业重金招聘Python工程师标准>>> ##语法 http://python.usyiyi.cn/ ##python标准库http://python.usyiyi.cn/documents/python_278/library/index.html##机器学习 http://scikit-learn.org/https://anaconda.org/自带科学计算库&#xff0c;画图库matoli…

您试图访问的网站服务器报错,HTTP 403 禁止)意味着 Internet Explorer 可以连接到该网站,但是没有查看该网页的权限。...

满意答案被遗忘在街角74推荐于 2016.05.30采纳率&#xff1a;49% 等级&#xff1a;12已帮助&#xff1a;9533人HTTP 错误 403 - 限制为仅本地主机访问 Internet 服务管理器 (HTML)HTTP 错误 403 403.1 禁止&#xff1a;禁止执行访问如果从并不允许执行程序的目录中执行 CGI、…

网站/域名如何备案?

最近悟出来一个道理&#xff0c;在这儿分享给大家&#xff1a;学历代表你的过去&#xff0c;能力代表你的现在&#xff0c;学习代表你的将来。 十年河东十年河西&#xff0c;莫欺少年穷 学无止境&#xff0c;精益求精 本节和大家探讨下网站/域名如何备案&#xff1f; 首先说下&…