参考文章

思路决定成败: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. STL初步学习(set)

    2.set set可以看作一个集合,可以实现自动排序(升序)和去重 在许多题目中,都可以使用这个模板库,减少很多操作,例如P1923 第k小数,当然,这道题有很多奇奇怪怪的做法,分值都不同,之后会讲解 ...

  2. CSS3 nth-child的使用,详解css中nth的作用,以及nth-child的兼容写法

    :nth-child是css3的一个比较常用的选择器.它用于匹配属于其父元素中的子元素,不论元素的类型. 它的参数可以是数字.关键词或公式.下面讲介绍它的使用方法, nth-child的使用 html ...

  3. css伪选择器使用总结——css中关于伪类和伪元素的知识总汇

    CSS 伪类用于向某些选择器添加特殊的效果,而CSS引入伪类和伪元素的概念是为了实现基于文档树之外的信息的格式化.这里讲总结关于css伪类和伪元素的相关使用 伪元素 :before/:before 在 ...

  4. 四维DP之方格取数

    题目描述 传送门 设有N*N的方格图(N<=20,我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): 某人从图的左上角的A(1,1) 点出发,可以向下行走,也可 ...

  5. Git篇---将秘钥添加到github

    第1步:创建SSH Key.在用户主目录下,看看有没有-/.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开She ...

  6. (一)学习了解OrchardCore笔记——开篇:基于asp.net core的OrchardCore

    想深入了解OrchadCore源码许久了,但是读源码的时候遇到很多问题而网上的参考资料太少了(几乎都是OrchadCms不带OrchardCore的),现在解决得差不多了,做下笔记方便自己查看,有错误 ...

  7. day03总结

    一. 基本数据类型# 1.整型int# 作用:记录年龄.等级.号码等状态# 定义与使用# age = 999# level = 10# qq = 383838338 # res=age * 1# pr ...

  8. Java入门系列之重写

    前言 关于所有Java系列文章面向有一定基础的童鞋,所写每一篇希望有一定含金量,有些内容可能会从Java整个语法全局考虑穿插后续要讲解的内容以成系统,若不理解,请看完后再学习.上一节我们讲解完了fin ...

  9. JavaScript 对象的创建和操作

    <script>         // 对象是属性的无序集合,每个属性都是一个名/值对. 属性名称是一个字符串.         // 对象种类         // 内置对象(nativ ...

  10. JavaScript 基础 学习(三)

    JavaScript 基础 学习(三) 事件三要素 ​ 1.事件源: 绑定在谁身上的事件(和谁约定好) ​ 2.事件类型: 绑定一个什么事件 ​ 3.事件处理函数: 当行为发生的时候,要执行哪一个函数 ...