参考文章

思路决定成败: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. 网络基础和 TCP、IP 协议

    1.网络基本概念 1.1 什么是网络:一些网络设备按照一定的通讯规则(网络协议)进行通讯的系统. 1.2 VPN(虚拟私有网络)加密,相当于专线,从分支机构到总部. 1.3 资源共享的功能和特点: 数 ...

  2. django项目常见报错集

    1.mysqlclient 目前不支持高版本python3 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or new ...

  3. 设置CMD窗口为UTF-8编码

    Windows下的CMD窗口默认是采用非UTF-8编码的,有时候运行一些UTF-8编写的批处理文件在控制台中的输出就是乱码, CHCP是MD DOS中的命令,用来显示或设置活动代码页编号的.用法是:  ...

  4. JQuery文件上传插件JQuery.upload.js的用法简介

    JQuery文件上传插件,这个插件很小,用法很简单,效果却很棒.注意:JQuery版本要求1.8及以上,大家执行如果没效果,则检查JQuery版本,如果是1.8及以上,则该插件源码中的.size()需 ...

  5. python之类与对象(一)

    1.改变对象的字符串显示,要改变一个实例的字符串表示,可重新定义它的 str () 和 repr () 方法 class Pair: def __init__(self, x, y): self.x ...

  6. tomcat发布时候jar包问题

    今天遇到个问题就是,启动tomcat时,报:java.lang.NullPointerException at org.apache.jsp.**_jsp.jspInit(index_jsp.java ...

  7. Vs Code推荐安装插件

    前言: Visual Studio Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的Vs Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持 ...

  8. day09 基本数据类型(中)

    目录 一 列表(list) 1.作用 2.定义 3.类型转化 4.内置方法 4.1按索引取值 4.2切片 4.3长度 4.4成员运算 4.5往列表中加值 4.5.1追加 4.5.2追加列表 4.5.3 ...

  9. Python 图像处理 OpenCV (13): Scharr 算子和 LOG 算子边缘检测技术

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...

  10. Java多线程编程基础知识汇总

    多线程简介 多任务   现代操作系统(Windows.Linux.MacOS)都可以执行多任务,多任务就是同时运行多个任务.例如在我们的计算机上,一般都同时跑着多个程序,例如浏览器,视频播放器,音乐播 ...