![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
小菜鸡
文章平均质量分 85
Anansi_safe
一位整日做梦,妄想进入Google的arch教低端人士
展开
-
Chrome漏洞分析与利用(三)——Issue-1062091漏洞分析
漏洞环境漏洞说明Issue-1062091为chrom中存在的一个UAF漏洞,此漏洞存在于chromium的Mojo框架中,利用此漏洞可以导致chrome与基于chromium的浏览器沙箱逃逸。这个漏洞是在Chrome 81.0.4041.0的提交中引入的。在几周后,这个提交中的漏洞恰好移动到了实验版本命令行标志的后面。但是,这个更改位于Chrome 82.0.4065.0版本中,因此该漏洞在Chrome稳定版本81的所有桌面平台上都是可以利用的。环境配置一开始打算像调试v8漏洞那样尝试用fetc原创 2022-04-12 09:44:51 · 1130 阅读 · 0 评论 -
IDA Pro使用学习研究笔记(一)——IDA View
IDA Pro一直在学习二进制漏洞挖掘,但是从来没有写过有关分析工具笔记。。。。IDA Pro一个二进制逆向分析工具,可以用来对未知源码的二进制程序,进行静态分析,简单来讲就是不去运行二进制程序,将其指令段的二进制机器码还原成汇编指令来对程序的执行流与代码逻辑进行分析。与其相对的还有一种是动态分析,最具代表性的工具就是Windbg、ollydbg、X64dbg,他们在还原汇编代码的同时还会去运行程序,并且还可以还原程序执行时的堆栈以及其他的一些运行时产生的内存数据(这是静态分析所没有的优点)。启动ID原创 2021-04-12 03:54:34 · 2367 阅读 · 0 评论 -
CVE-2020-16898逆向分析
CVE-2020-16898漏洞是一个典型的栈溢出漏洞,此漏洞由于出现在内核层所以最有可能造成的便是系统蓝屏宕机,也不排除利用栈溢出造成任意代码执行,但由于系统自身带有的___security_cookie安全机制,造成代码执行的可能不大。受影响的版本:windows_10 : 1709/1803/1903/1909/2004window_server_2019 : *window_server : 1903/1909/2004官方安全更新:Microsoft360cert使用IDA Pro原创 2021-09-13 16:00:14 · 1409 阅读 · 3 评论 -
浅谈C/C++函数指针与异步回调机制
函数指针与指针函数先来看两种声明:int* fun(int i);int (*fun)(int i);首先明确,前者为指针函数,后者为函数指针,他们的区别就在于:一个返回值类型为int型指针的函数一个指向返回值类型为int的函数的指针也就是说函数指针可以将函数变成一个类似与变量的东西供我们操作两者的用法实例:1.#include<stdio.h>#include<stdlib.h>int* fun(int i){ return ((int*)ma原创 2020-10-08 00:44:11 · 2667 阅读 · 0 评论 -
Win10_X64远线程注入dll(非CreateRemoteThread)
谈到远线程注入,首先肯定会想到使用CreateRemoteThread,但这个API无法对系统进程进行注入,而且根据我个人的验证发现这个函数在win10下也无法正常将dll注入进记事本进程(淦!)。好在在我的不懈努力的百度、google下发现了另一种思路,那就是使用ZwCreateThread这个内核API,CreateRemoteThread在底层也调用了这个API,CreateRemoteThread底层会调用内核函数ZwCreateThreadEx,而系统调用此函数时,如果发现是系统进程,会把函数的第原创 2020-09-27 23:42:51 · 3136 阅读 · 0 评论 -
D-Link DIR878路由器固件命令执行漏洞
经过之前几篇的漏洞挖掘练习,对于普通linux内核与VxWorks内核的固件漏洞进行了分析,这次来分析一下被加密过的固件漏洞。以D-Link DIR878为例,此路由器的固件从1.04版之后开始对之后的版本固件进行加密,而解密程序就在最后一个不加密的版本固件里也就是1.04版,所以这次我们需要先下载两个版本的固件,固件下载地址:D-Link。关于固件加解密可参考D-Link DIR-882 路由器加密固件的解密 在下载固件时可能会找不到1.04版本的,直接找1.10版本的即可这两个版本在一起。..原创 2020-07-31 00:15:55 · 2092 阅读 · 1 评论 -
对TP-Link SR20 tddp协议漏洞的详细逆向研究
最近段时间一直忙于找工作,从而导致博客许久没有好好的写一篇(好不容易要写了结果csdn的linux下网页登陆又出bug,只能把截图放到windows下,好不容易图都截完了转存截切,结果打开时所有图片格式又损坏了,又重新去linux截,真可谓是…一波三折),导致这段时间学到的很多知识没能记下来,罪过罪过…正题从一开始研究IOT安全开始就了解到过一个关于TP-Link SR20的固件漏洞,也复现利用过这个漏洞,但对这个漏洞的产生的具体细节了解甚微,今天就用IDA来逆向分析一下这个漏洞,关于TP-Link S原创 2020-07-27 01:38:12 · 2044 阅读 · 0 评论 -
linux密码忘记解决办法
在使用linux系统的过程中,有时候可能会因为长时间的不使用从而导致root密码忘记等类似情况,实际上这种情况可以通过在grub中使用单用户模式更改root密码。首先启动计算机,在引导界面可以看到在这里选择高级选项选中recovery mode按e开始编辑,找到ro recovery nomodetest这句将其改为rw single init=/bin/sh然后使用ctrl+x组合键重新引导然后等待等到#号出现,我们就可以使用一些基本的常用指令然后我们使用passwd root指令来更改r原创 2020-07-24 16:25:39 · 162 阅读 · 0 评论 -
Hibernate入门基础(三)
关键类在写好两个xml文件后,我们的代码通常会以如下形式来进行编写//配置对象Configuration cfg=new Configuration().configure();//事物对象Transaction tx=null;//持久化对象CUserInfo ci=null;//session工厂SessionFactory sessionFactory=null;//session对象Session databaseSession=null;try{ sessionFact原创 2020-05-21 00:55:12 · 136 阅读 · 0 评论 -
SHA-1算法解释与C/C++实现
SHA-1与MD5算法一样,也属于是一种哈希算法,并非是密码算法,也是因为其不可逆性,导致其在密码界常有应用,他与MD5的区别:输出定长为20字节安全强度更强算法计算过程略有不同算法实现过程与其他哈希算法一样,首先肯定是对原文数据进行填充,输入不定长度的原文,要使其长度满足: “长度 mod 512bit =448bit”不管其长度是否满足,都要在其后至少添加一个十进制数128即0x80,其二进制形式为1000 0000,如果长度不满足就在添加完0x80后继续填充0,一致填充到满足"长度原创 2020-05-18 13:34:22 · 2034 阅读 · 0 评论 -
dll劫持代码演示
DLL文件在说dll劫持之前,我觉得有必要先说明一下dll文件的用途,dll文件是windows下的动态链接库文件,通常情况下,我们的应用程序并不是将所有的代码内容都生成为一个exe可执行文件的,开发者会将部分内容编译打包成一个后缀为.dll的库文件,这样做就我所知有三大好处:应用程序本体体积会很小。不同程序间可共享一个库文件。可以增强程序的可扩展性。介于这些好处,微软本身也是鼓励动态库文件的使用,当然,他也有一个缺点,那就是每次发布程序,都要讲这些dll文件打包与应用程序放在同一目录下发布,原创 2020-05-14 18:55:28 · 1179 阅读 · 0 评论 -
MD5算法解释及C/C++实现
关于MD5MD5是由Ronald Linn Rivest设计,于1992年公开,用以取代MD4算法的一种散列算法,首先要明确的是,他本身并非是一种加密算法,但因为其不可逆性,导致在密码界也常有应用,因为不可逆性,曾一度被认为是一种比较安全的算法,但据说被我天朝山东大学的一位女教授给破解了,只用几个小时就可以将其碰撞(就是用不同的明文算出相同的密文,姑且这样形容…),所以就目前而言,已经不再是一种百分之百安全的算法了(跟md5出自同宗的SHA-1算法据说也被谷歌给破了…)算法过程MD5算法的过程,总体简原创 2020-05-12 00:58:02 · 813 阅读 · 0 评论 -
快速排序C代码实现(非递归)
1原创 2020-05-07 01:10:52 · 1570 阅读 · 0 评论 -
RSA加密算法解释与C++实现
最近因为一些原因对密码学产生了点兴趣,继之前用代码实现BASE64之后最近又搞起了RSA,这让我这个数学渣用从头开始学数学。。。。泪RSA加密算法RSA加密算法是由三位MIT大佬发现的,故RSA算法名称由来就是取他们三位名字i的首字母。RSA算法是一种典型的不对称加密算法,说到不对称加密就会想到对称加密,在密码学加密算法大致可分为两种:对称加密与不对称加密。对称加密什么是对称加密,简单来...原创 2020-05-03 22:00:03 · 5936 阅读 · 3 评论 -
快速排序C语言
快速排序,就像他的名字,相对而言十分快速,时间复杂度较低,所以在对程序运行时间有一定要求的场合可以选择快速排序来进行数据的排序快速排序首先在步骤上分为:首先选取一个基准数,直接取首元素即可对于从左往右降序排序,将比基准数小的数放到基准数左边,比基准数大的放到右边,如果一个在右边的数比基准数大,那就放着不动,继续向左比较,直到找到一个比基准数小的数,然后放到基准数左边,然后开始比较左边,左边...原创 2020-03-29 12:10:07 · 2491 阅读 · 0 评论 -
C++ 实现Base64编码
Base64编码是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法,Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。编码实现过程想要实现对字符串的base64编码,首先肯定要知道它的编码过程,在进行编码前首先要设置码表const u_ch...原创 2020-03-25 19:11:08 · 3135 阅读 · 0 评论 -
栈帧详解
栈帧作用栈帧在程序中负责保存程序的局部变量、参数与函数最终执行完后的返回地址。我们在写C语言代码时经常会接触到的一个概念“局部变量”就是由栈帧来负责保存维护的。栈从数据结构上来说,是一种先进后出的数据接管,可以把他想象成一个水桶,要存入的数据就是一个个的盘子,现在将盘子按顺序一个一个放入桶中,当要用到盘子要取出盘子的时候,最后一个放入的盘子肯定第一个被取出,第一个放入的盘子肯定最后一个被取出...原创 2020-03-12 18:42:53 · 1324 阅读 · 0 评论 -
Kali Linux简单的网络嗅探实验
目的:利用ettercap和httpry以及nriftnet获取同一局域网内联网用户的http流量包,网页浏览时的网页图片。使用工具:ettercap(用ettercap -G可打开UI界面)httpry(kali默认没有安装,可用apt-get install httpry安装)nriftnet(获取图片会有延时,需要耐心等待)过程:ettercap -G打开ettercap的...原创 2019-03-11 23:41:51 · 5283 阅读 · 0 评论 -
python使用UDP协议进行远程桌面共享
之前在写远程桌面共享的时候一直没有思路,直到搜到了这篇文章:python实现基于UDP的视频直播程序对我启发很大,但还有两个问题:1.画质太低,导致连桌面上的文字都难辨认2.存在色变,画面崩坏解决办法...转载 2019-03-12 13:12:43 · 6444 阅读 · 0 评论 -
python scapy实现ARP欺骗与DNS欺骗
关于ARPARP协议(地址解析协议),是一个能够将IP地址转换为MAC地址来让设备间通讯的协议,由于设备间进行网络通讯时,需要将网络层IP数据包包头中的IP地址信息解析出目标硬件(MAC地址)信息来保证通信的顺利进行,所以就有了ARP协议的存在,可在windows下的cmd中输入指令arp -a来查看本机arp缓存。在后面我会用两台电脑做测试,一台是linux系统为模拟黑客的设备,另一台是win...原创 2019-03-27 22:27:55 · 5257 阅读 · 0 评论 -
关于python Scapy Dot11(802.11)的关键参数说明(自用)
Dot11关键参数的含义如下:type=0表示帧是管理帧(type 0)。subtype=8表示管理帧子类型是信标(类型8)。addr1为目标MAC地址。addr2为发件人的源MAC地址。add3为接入点的 MAC地址。...原创 2019-04-24 11:54:01 · 2929 阅读 · 0 评论 -
Android studio+opencv-4.1.0 开发环境搭建(一)
最近在做一图像处理APP的时候需要用到opencv,发现从配置个方面都十分蛋疼,好在经过一番折腾,算是大概i弄出来了,在这里大概说说,我用的是android studio开发环境,具体安装配置不再多说,直接从opencv开始。opencv下载opencv官网先去官网下载,我在这里选择了目前的最新版4.1版,选择下载android版本的下载好后,直接解压,不需要安装之类的步骤,进入解压后的...原创 2019-05-24 14:58:02 · 26755 阅读 · 15 评论 -
python scapy实现arp欺骗与DNS欺骗(二)
(环境:python 2.7.16+scapy 2.4.2)之前写过一片关于python scapy实现arp欺骗与DNS欺骗的帖子地址:python scapy实现ARP欺骗与DNS欺骗但是昨天用的时候发现dns_spoof函数不能用了(惊了....),没办法,只能自己重新DIY一个用来进行dns欺骗函数。代码其他部分与前一篇帖子完全一致,关于其实现思路,请自行查看上一篇帖子,都...原创 2019-10-01 13:03:25 · 2468 阅读 · 1 评论 -
浅谈C语言主函数参数
C语言主函数参数C语言的主函数,恐怕稍微学过点C语言的人都知道是主函数是什么,从我们第一天开始学C语言的时候就知道不管写什么程序,总之先写这一段就对了。虽然有些地方在教的时候是void main()或者直接main()如此然后直接写后面的,但是在这里我不建议这么写,首先他是不标准的,其次在少数的开发环境中写成void main()是会报错的(我曾经就遇到过这样的坑,具体是哪个开发环境忘记了)!...原创 2019-03-14 18:54:16 · 5675 阅读 · 0 评论