CHEUHXG

TEND TO BE A HACKER

Burp Suite主要模块功能介绍

Target

主要功能

  • 显示信息。
  • 默认记录爬虫所爬行的页面及每个页面的请求头以及相应信息。

使用流程

  1. Site map中,将目标站点发送到Scope
  2. 使用Filter过滤。 > 任意的URL/HTTP请求都可以发送到其他模块。

VSCode 配置C/C++项目文件

介绍

  • 下学期计网可能要用到C,又不想用之前做算法题的编译器,因为CodeBlocks不好看,Visual Studio又太大了。
  • 想用一下VSCode,不过我很久没有用过了,于是查了一下C项目的搭建,做一下笔记,以防找不到配置文件。

XSS漏洞攻击与防御

漏洞介绍

定义

  • XSS本名Cross-Site Scripting跨站脚本,是攻击者将恶意JavaScript脚本植入服务器而形成对访问者的攻击。

攻击流程

  • 攻击者通过评论区一类的存储点,将写好的JavaScript脚本写入服务器。
  • 服务器存储后,在用户访问页面时,携带恶意脚本返回给用户。
  • 此时恶意代码被执行,用户的信息将会发送到攻击者的服务器,完成攻击。

SessionID漏洞解析

漏洞原理

  • 当用户第一次访问服务程序时,服务器端会给用户创建一个独立的会话Session 并且生成一个SessionID
  • SessionID在响应浏览器的时候会被加载到cookie中,并保存到浏览器中。
  • 当用户再一次访问服务程序时,请求中会携带着cookie中的SessionID去访问服务器。
  • 服务器会根据这个SessionID去查看是否有对应的Session对象,有则使用,没有就新创建一个Session

SQLMAP使用以及参数简介

简介

  • sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。
  • 具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。
  • 支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2,SQLite,Firebird,SybaseSAP MaxDB等数据库的各种安全漏洞检测。

SQL注入漏洞

漏洞详情

  • SQL注入是当存在对数据库的查询时,平台输入的语句和后台代码拼接后形成查询语句,导致了数据库信息的泄露。
  • 根本原因是因为Web应用程序没有对用户的输入进行合法性的检验和过滤
  • 攻击流程比较简单,如下图所示。

Insecure CAPTCHA漏洞利用以及防御

漏洞介绍

  • CAPTCHA项目是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)的简称,是一种区分用户是计算机和人的公共全自动程序。
  • 使用CAPTCHA可以防止计算机恶意破解密码、刷单等,保证用户是人类(无法快速反复发送请求)。
  • 攻击者绕过CAPTCHA验证后,可以使用恶意脚本操控计算机反复发送请求或者在异地实现绕过验证的CSRF攻击。

漏洞原理

  • CAPTCHA漏洞利用验证机制的逻辑漏洞,下面给出验证流程。
  • 服务器使用recaptcha_check_answer()函数验证用户输入的正确性

recaptcha_check_answer(string: $privkey, string: $remoteip, string: $challenge, string: $response, array: $extra_params = array())

  • 可以利用服务器核对验证信息这个环节,绕过CAPTCHA验证,完成非人类请求。

CSRF漏洞利用以及防御手段

漏洞介绍

  • 跨站请求伪造,也被称为one-click attack或者session riding,通常缩写为 CSRF 或者 XSRF
  • 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
  • 跟跨网站脚本相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
  • 通俗的可以理解为:攻击者盗用你的身份,利用网站对你的信任发起恶意请求。

漏洞原理

  • 登录访问受信网站后,网站会发送Cookie到客户端,以确认用户的身份。
  • 如果用户还未登出受信网站,同时访问了攻击者植入的危险网站,危险网站则可利用客户身份触发恶意请求。
  • 客户端此时携带受信网站给出的Cookie,向受信网站发出危险网站的恶意请求。
  • 受信网站通过Cookie判断客户端请求的来源,由于已经确认身份,受信网站会响应请求,攻击者目的达到。

ONOS实现SDN网络组播

组表效果实现

0x00 OpenFlow组表

功能

实现更高级的数据包转发特性,如:组播、负载均衡、容灾备份和聚合

组表项

  • 组表号groupId:标识组表,用于组表区分
  • 组表类型type:与流表转发类型相似,表示对应的动作(action):IndirectAllSelectIndirectFast failover
    • Inidirct:执行该group中一个已定义的bucket, 该组仅支持一个bucket。 允许多个流表项或组表项指向一个公共的组(例如IP转发的下一跳)。 这是最简单的group类型,交换机通常比较支持这种类型的group

    • All:执行该group中所有的bucket。这种类型的group用来进行multicastbroadcast。为每个bucket克隆一份数据包,然后分别执行每个bucket中的actions
    • Select:执行该group中的一个bucket。基于一种选择算法(用户定义的哈希算法或者轮询算法)选择group中的一个bucket对数据包执行actions。这种选择算法应该尽量支持负载均衡并且为每个bucket提供一个权重用于分配。当一个bucket指定的端口down掉,交换机应该将选择限制在剩下的正常的bucket中而不是丢掉,这是为了减少链路中断。
    • Fast failover:执行第一个活动的bucket。 每个action bucket都与控制其活动性的特定端口和/或组相关联。 按照group定义的顺序评估bucket,并选择与活动端口/组关联的第一个bucket。 这个group类型使交换机可以更改转发行为而无需往返于控制器。 如果没有bucket,则丢弃数据包。
  • 计数器counters:记录处理过的报文数
  • 动作桶action buckets:动作桶(action bucket)列表,每个动作桶包含相关动作和参数

Java实现SDN拓扑获取

Java实现SDN拓扑获取

思路

  • 由于Java调用北向接口过程复杂,故此处编写Python脚本获取拓扑
  • 使用Jython包完成Pyhon脚本的调用
  • 考虑到PythonJava的数据结构难以直接转换,这里选择将脚本获取的拓扑用无向图的形式保存本地文件topo.txt
  • 通过Java读取本地文件,并进行处理分析,发送到前端

实现

Python脚本编写

  • 引入相关包

    1
    2
    3
    import sdn_net as sn
    import networkx as nx
    import json

    此处利用了networkxGraph图结构;json用于将数据转化为字典集;sdn_net是之前写的流表下发和拓扑抽象的脚本,此处引用其中的函数其实就是懒