参考文章

思路决定成败:F12给了我黑色的眼睛我却用它来挖洞

前言

了解大佬的思路才知道自己现在学的到底有多浅。

还没有到点,我就已经进入状态了,生而为人,我很抱歉。

F12 的骚操作

Elements

  • ctrl+f 找可能的 XSS 参数输出点

  • 找后台

有时候拿个网站路径扫描工具扫后台时,没有一个强大的字典很难真正扫到东西,即使有个好字典也不一定能扫出来。有时候其后台登陆藏得很深。

有的网站为了不让一般用户轻易找到后台入口,常常给 a 标签设置一个 hidden 属性,把后台登陆链接隐藏起来,让用户不能直接看到。

如:<a href="manage/xxxxx/login.php" hidden>后台管理</a>

此时不妨在网站首页等页面搜索一下 loginmanagehoutaidengluguanli 等一些常见后台关键词,说不定其后台路径就藏在网页的 html 源代码中。

  • 找可能存在 sql 注入的接口

如 360 某次靶场考核试题

  • 寻找一些敏感信息

如一些程序员开发时的注释,一些敏感路径、子域名等等

小脚本:提取网页中存在的注释与路径信息

# 网页注释与路径信息提取脚本

import requests
import re headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
} url = "http://baidu.com" # 提取注释
def getNotes(rep):
result = re.findall(r'<!--(.*?)-->', rep, re.DOTALL)
result = result + re.findall(r'<!--(.*?)--!>', rep, re.DOTALL)
return result # 提取 url
def getUrls(rep):
result = re.findall(r'[\'"](http.*?)[\'"]', rep, re.DOTALL)
result = result + re.findall(r'[\'"](https.*?)[\'"]', rep, re.DOTALL)
result2 = re.findall(r'href=[\'"](.*?)[\'"]', rep, re.DOTALL)
result2 = result2 + re.findall(r'src=[\'"](.*?)[\'"]', rep, re.DOTALL)
for i in result2:
if not i.startswith('http'):
result.append(url+i)
return result def main():
try:
rep = requests.get(url, headers=headers).content.decode("utf-8")
notes = getNotes(rep)
urls = getUrls(rep)
print(notes)
print(urls)
except:
print("Error happend!") if __name__ == '__main__':
main()
  • 当然还有白嫖漂亮的 css 代码

我之前用 flask 写的简单个人博客系统,就借鉴了许多我认为好看的网页的 css

Console

  • 可以看到一些网页报错信息,以及一些输出

就比如说你正在看的这篇博客

当更改一些提交的参数,导致网页报错时,有可能一个 dom-xss 就在向你挥手

  • 执行 js 代码

    无数的 self-xss 等待各位老板挖掘

    当然也可以在开发网页时测试 js 代码

Sources

这里以博客园为例

  • 打断点调试 js 代码

这一操作在前端加密的时候很有用

  • js 文件泄露敏感信息

仔细看看 js 文件内容,有时候可以找到如后台地址、子域名、账号密码等等敏感信息,当然也有脚本工具:JSFinder

有时候眼睛扫一扫后台登陆页面的 js 代码说不定就有惊喜。

Network

一般关注的响应码跟加载时间吧。

响应码的话可以简单的找找302跳转,万一一个任意 url 跳转就成了呢?当然,在这里找也不大合适,一般推荐使用 burp 来找。

响应时间的话,这个在寻找 ssrf 时可以用用

其他

  • Application



可以看看网站缓存,session、cookie 等信息

  • Performance



这是个啥呀?一般没什么用,除非你做开发的话。

  • Memory



一般记录网页资源占用内存大小、以及该网页各个时段的运存占用情况。如果你怀疑网页在利用你挖矿的话应该可以看看,一般不大现实

  • Security



网站安全性,查看证书等等。一般没有设置 https ,会显示网页不安全。没什么用。

  • 插件

这个就要具体看自己安装了什么插件,每个具体插件都会有使用说明。

比如 hackbar 用来发送请求、cookie editor 用来编辑 cookie

你一个 F12 能秒我?的更多相关文章

  1. 云计算之路-阿里云上:Wireshark抓包分析一个耗时20秒的请求

    这篇博文分享的是我们针对一个耗时20秒的请求,用Wireshark进行抓包分析的过程. 请求的流程是这样的:客户端浏览器 -> SLB(负载均衡) -> ECS(云服务器) -> S ...

  2. 通向高可扩展性之路(推特篇) ---- 一个推特用来支撑1亿5千万活跃用户、30万QPS、22MB每秒Firehose、以及5秒内推送信息的架构

    原文链接:http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-to-deal-with-150m-active ...

  3. Android由一个activity 间隔5秒自动跳转到另外一个activity

    Android由一个activity 间隔5秒自动跳转到另外一个activity 2013年10月10日18:03:42 //一.写一个定时器 5秒后开启        final Intent lo ...

  4. PHP date 格式化一个本地时间/日期

    PHP date 格式化一个本地时间/日期 date (PHP 4, PHP 5) date — 格式化一个本地时间/日期 说明 string date ( string $format [, int ...

  5. EXCEL中讲 10分10秒转换成610秒

    前几天宝贝跟我打赌100W说我20天给她打电话不到10小时,我说绝对超过10小时了,但是由于宝贝的赖皮死活不承认,所以我被迫掉出通话记录,拿到通话记录我有点小郁闷,因为通话记录里的时间格式00分00秒 ...

  6. get/close not same thread Druid 连接池一个设置

    我就郁闷了,1000W+数据审核每次总是到一半就出这么个错,仔细找找原来是一个配置项的小问题,removeAbandonedTimeout 这个代表你从连接池取出一个连接多少秒之后你还没还回来,那就强 ...

  7. 假设写一个android桌面滑动切换屏幕的控件(一)

    首先这个控件应该是继承ViewGroup: 初始化: public class MyGroup extends ViewGroup{ private Scroller mScroller; priva ...

  8. iOS 10 的一个重要更新-新的通知推送 API

    iOS 10 最重要的变化可能就是通知 API 的重构了.本文用一个简单闹钟的例子介绍了 User Notification 的 API 变化和新功能. 简介 很久以前,开发者就可以在 iOS 里预约 ...

  9. Three-js 创建第一个3D场景

    1.一个场景至少需要的三种类型组件 相机/决定哪些东西将在屏幕上渲染    光源/他们会对材质如何显示,以及生成阴影时材质如何使用产生影响    物体/他们是在相机透视图里主要的渲染队形:方块.球体等 ...

随机推荐

  1. 一.vue 初识

    jquery开发的问题: 提供了简单的api,简化了操作dom的方式,但没有对业务逻辑分层,需要维护数据和dom间的同步.1.vue做的事情就是:能够将视图(web界面上能看到的元素--文字/输入框/ ...

  2. 资深阿里程序员一一为你解刨Web前端知识体系结构,付出与收获成正比!

    只要接触过前端,都会指导web前端的知识主要由三部分组成:分别为静态html,样式css,动态javascript(简称js)这三大部分组成.其三部分组成的一个体系的复杂程度不亚于其他一门技术的复杂程 ...

  3. 【Oracle】rman中SBT_TYPE类型的备份如何删除

    技阳的rman数据库出现删除rman备份失败,原因是出现SBT_TYPE的磁带备份. [BEGIN] 2018/8/13 13:48:42 RMAN> list backup; List of ...

  4. 猿灯塔:Java程序员月薪三万,需要技术达到什么水平?

    最近跟朋友在一起聚会的时候,提了一个问题,说Java程序员如何能月薪达到二万,技术水平需要达到什么程度?人回答说这只能是大企业或者互联网企业工程师才能拿到.也许是的,小公司或者非互联网企业拿二万的不太 ...

  5. CentOS 7 Docker安装部署Go Web

    Docker 是一种容器技术,它部署简单,能很好的进行服务隔离,生成镜像,Push到镜像仓库,其他机器一键拉取部署. Docker分为社区版CE和企业版EE,社区版是免费提供给个人和小型团队使用,企业 ...

  6. mongodb安装与mongo vue的使用

    首先,下载mongodb,然后安装 http://downloads.mongodb.com/win32/mongodb-win32-x86_64-enterprise-windows-64-2.6. ...

  7. 博弈论 | 详解搞定组合博弈问题的SG函数

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天这篇是算法与数据结构专题的第27篇文章,我们继续深入博弈论问题.今天我们要介绍博弈论当中非常重要的一个定理和函数,通过它我们可以解决许多 ...

  8. python 装饰器(八):装饰器实例(五)函数装饰器装饰类以及类方法

    函数装饰器装饰类 单例模式 from functools import wraps def singleton(cls): instances = {} @wraps(cls) def get_ins ...

  9. .net core微服务——gRPC(下)

    序 上一篇博客把grpc的概念说了个大概,介绍了proto的数据类型,基本语法,也写了个小demo,是不是没那么难? 今天要从理论到实际,写两个微服务,并利用grpc完成两者之间的通信.只是作为dem ...

  10. drf频率源码、自动生成接口文档、JWT

    目录 一.drf频率源码分析 二.自动生成接口文档 1 安装依赖 2 设置接口文档访问路径 3 文档描述说明的定义位置 4 访问接口文档网页 三.JWT 1 JWT基本原理 1.1 header 1. ...