参考文章

思路决定成败: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. 如何配置-整合ssm框架之配置文件

    ssm整合 一.applicationContext.xml 1.配置数据源 <bean id="dataSource" class="org.springfram ...

  2. angular入门--filter搜索

    首先,列表绑定忽略 先上代码 <html ng-app="app1"> <head> <meta charset='utf-8' /> < ...

  3. java 包装类的使用

    1.为什么要有包装类(或封装类) 为了使基本数据类型的变量具有类的特征,引入包装类. 2.基本数据类型与对应的包装类: 3.需要掌握的类型间的转换:(基本数据类型.包装类.String) 应用场景举例 ...

  4. 51nod1524 最大子段和V2

    题干 N个整数组成的序列a[1],a[2],a[3],-,a[n],你可以对数组中的一对元素进行交换,并且交换后求a[1]至a[n]的最大子段和,所能得到的结果是所有交换中最大的.当所给的整数均为负数 ...

  5. [POJ3977] Subet(二分枚举)

    解题报告 前置知识:折半查找法(二分法) 顾名思义,折半就是把一组数据(有序)分成两半,判断我们要找的key值在哪一半当中,不断重复该操作直至找到目标key值,这玩意说白了就是二分的另一个名字. 解决 ...

  6. cmake的下载和安装

    背景: 最近迷上了 vscode 编辑器, 快速便捷,而且插件丰富,使用起来很爽.既然这样,本身游戏也是用 mingw 加 cygwin 开发的, 可以配置一下,开搞. 实操: 1.登陆cmake官网 ...

  7. mysql无法启动服务,错误1067

    安装mysql,提示安装成功后,启动服务,提示错误1067 前情提示:mysql安装文件和配置文件没有放在Program File文件夹下. 解决办法:将my.ini文件剪切放在Program Fil ...

  8. python 将指定文件夹中的指定文件放入指定文件夹中

    import os import shutil import re #获取指定文件中文件名 def get_filename(filetype): name =[] final_name_list = ...

  9. HotSpot的对象模型(6)

    接着上一篇,我们继续来讲oopDesc相关的子类. 3.instanceOopDesc类 instanceOopDesc类的实例表示除数组对象外的其它对象.在HotSpot中,对象在内存中存储的布局可 ...

  10. disconf原理解析

    前有了解过disconf,也知道它是基于zookeeper来做的,特意写了文章记录下自己的见解.如有错误,欢迎指正. 1.disconf-web会在启动时,将自身的host和配置文件注册到zookee ...