精华内容
下载资源
问答
  • 首先进行第一步判断传入的字符串是否符合HTTP路径的语法规则,即”HTTPS://” 或 “HTTP://” ,从封装的一个函数,传入即可判断 - (NSURL *)smartURLForString:(NSString *)str { NSURL * result; NS...
    //思路:传入一个请求的URL,进行网络请求,如果返回失败信息则说明此URL不可用
    
    //1.首先进行第一步判断传入的字符串是否符合HTTP路径的语法规则,即”HTTPS://” 或 “HTTP://” ,从封装的一个函数,传入即可判断
    
    - (NSURL *)smartURLForString:(NSString *)str {
    
        NSURL *     result;
    
        NSString *  trimmedStr;
    
        NSRange     schemeMarkerRange;
    
        NSString *  scheme;
    
        assert(str != nil);
    
        result = nil;
    
        trimmedStr = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    
        if ( (trimmedStr != nil) && (trimmedStr.length != 0) ) {
    
            schemeMarkerRange = [trimmedStr rangeOfString:@"://"];
    
            if (schemeMarkerRange.location == NSNotFound) {
    
                result = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", trimmedStr]];
    
            } else {
    
                scheme = [trimmedStr substringWithRange:NSMakeRange(0, schemeMarkerRange.location)];
    
                assert(scheme != nil);
    
                if ( ([scheme compare:@"http"  options:NSCaseInsensitiveSearch] == NSOrderedSame)
    
                    || ([scheme compare:@"https" options:NSCaseInsensitiveSearch] == NSOrderedSame) ) {
    
                    result = [NSURL URLWithString:trimmedStr];
    
                } else {
    
                    // 格式不符合
    
                }
    
            }
    
        }
    
        
    
        return result;
    
    }
    
    
    //判断
    
    -(void) validateUrl: (NSURL *) candidate {
    
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:candidate];
    
        [request setHTTPMethod:@"HEAD"];
    
        NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    
        NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
    
            NSLog(@"error %@",error);
    
            if (!request && error) {
    
                NSLog(@"不可用");
    
            }else{
    
                NSLog(@"可用%@",request);
    
            }
    
        }];
    
        [task resume];
    
    }
    
    
    
    

     

    展开全文
  • 如何判断用户是否访问过某个网址

    千次阅读 2016-12-10 13:27:24
    如何判断用户是否访问过某个网址 我们经常有这样的需求:想知道用户之前有没有访问过某个网址。有没有什么方法或技术能实现这一点呢? 初步探索 注意到,在大部分浏览器默认设置里,用户访问过的链接和没...

    如何判断用户是否访问过某个网址

    我们经常有这样的需求:想知道用户之前有没有访问过某个网址。有没有什么方法或技术能实现这一点呢?

    初步探索

    注意到,在大部分浏览器默认设置里,用户访问过的链接和没访问过的链接颜色是不同的,如下图:

    Snip20130811_28.png

    即用户访问过的链接,computed color默认为紫色(或其他在CSS中指定的颜色):

    Snip20130811 25

    而没访问过的链接,computed color默认为蓝色(或其他在CSS中指定的颜色):

    Snip20130811 27

    那是不是说,我们可以在页面上加上我们感兴趣的链接,然后用JavaScript取得这些链接文本实际的颜色,即可知道用户是否访问过指定网址呢?

    这个方法真的有效过。2010年有一篇安全文章上即介绍了这种方法,并将这类方法称为“历史嗅探”(history sniffing)。

    遗憾的是,各大浏览器厂商都已经注意到了这个问题,根据我的测试,目前最新的浏览器中都对这个问题进行了防范,获取超链接的Computed Style时,无论这个链接是否被访问过,取得的颜色都是未访问过时的那种颜色。

    看起来根据颜色获取的方案目前行不通了,不过神奇的是,现在我们有了另外一种方案。

    requestAnimationFrame

    Context Information Security公司最近出了一份名为《PIXEL PERFECT TIMING ATTACKS WITH HTML5》的报告,其中提到了一种很有创意的方案:使用HTML5中的requestAnimationFrame,根据浏览器渲染已访问过及未访问过的链接的时间差,判断指定链接是否访问过。

    现代浏览器绘图时每一帧的流程大致如下图所示:

    Browser rendering phases

    大致流程为:JS修改某个元素的样式,浏览器重新计算对应元素的外观及位置,然后将它们绘制出来,这个过程即是一帧。而requestAnimationFrame的作用则是可以注册一个函数,在下一帧开始绘制之前进行调用。

    requestAnimationFrame的初衷是让开发人员可以更好地管理动画,绘制更平滑的动画,如这篇博客中所说的。不过,这个接口也让获取不同元素的渲染时间成为了可能。

    工作原理

    在开始之前,我们需要了解的是浏览器是如何渲染访问过的链接和未访问过的链接的。

    当浏览器渲染一个页面时,浏览器必须区分出某个链接是否曾访问过。每个浏览器都有一个记录访问过的链接的数据库,此时它要做的就是从这个数据库中查询指定的URL是否存在。

    IE与Firefox中,如果链接已经渲染到页面上了,查询还没完成,浏览器会先使用“未访问过”的样式来渲染,查询结果返回时,如果指定链接是已访问过,那么浏览器就重绘指定的链接。而这个“重绘”是需要时间的,可以使用requestAnimationFrame来监测。

    Chrome浏览器和Firefox、IE不同,它会一直等到数据库URL查询完成才将链接渲染到屏幕上。

    除了初始渲染之外,使用JavaScript修改链接的href也有可能引发浏览器重绘。测试显示,在Firefox中,修改一个链接的href,如果改变了它的“已访问”状态,则会引发重绘。但在IE中这不能工作,一个链接一旦创建,改变href永远也不会同时改变它的“已访问”状态。

    Chrome中有点例外,只改变href并不会引发重绘,不过,如果在改变href的同时也“触碰”一下链接的样式(但不修改),则当新href需要改变“已访问”状态时,浏览器会重绘对应的链接。

    所谓的“触碰”指的是类似这样的操作:

    简单来说,基本原理就是这样:创建链接,改变它的href,使用requestAnimationFrame来监测接下来若干帧的耗时,判断是否发生了重绘,如果发生了重绘,说明指定链接的“已访问”状态发生了变化,即可判断出指定链接是否被访问过。

    当然,实际操作过程中还有不少问题需要考虑,比如,浏览器渲染通常都非常快,重绘的时间可能也会非常短,导致完全无法区分。解决方案主要有两个,一是增加链接数,创建多个A链接,指向同一个URL,需要时使用JS同时改变这些A链接的href属性为另一个值。另一个方案是给元素加一些耗时的样式,比如文字阴影,并且让模糊半径尽可能大,这样在重绘时需要的时间就会多很多了。

    实践

    我写了一个针对Chrome浏览器的demo,你可以使用Chrome访问 http://oldj.net/static/history-sniffing/test.html 测试。

    这个测试需要一个已知的已访问过的URL作为基准链接,既然你在读这篇博客,并且可能会点击上面的测试链接,那我就把上面的那个测试链接作为基准链接了。接下来,依次测试各个链接,看是否会引发重绘,据此判断你是否曾经访问过指定链接。

    效果如下图:

    Snip20130811 29

    已访问过的链接除了会使用紫色显示(这是浏览器自带的功能)外,我还在前面加了一个“[v]”标记,未访问过的链接前面则是“[ ]”。另外,你也可以在下面的输入框中输入新的URL,看看能不能正确判断。

    原理即是上面提到的,修改链接地址后,根据接下来各帧的时间,判断是否发生了重绘(redraw),如果有,则认为链接的已访问状态发生了改变。

    Redraw 1

    Redraw 2

    这是一个Chrome的例子,根据contextis白皮书,稍加改造,即可适用于IE及Firefox。

    更多

    这种通过判断渲染时间来获取信息的方式非常可怕,它的强大之处在于可以获取第三方网站的访问记录,并且完全不需要用户知情。比如,可以通过这个方式了解用户是否访问过竞争对手的网站,或者了解用户是否访问过指定的限制级网站。

    Princeton大学一篇2000年的论文《Timing Attacks on Web Privacy》就已经指出了这类计时攻击可能会泄露用户隐私。这篇论文里也提出了一种判断用户是否访问过指定网址的方法,做法是在当前页面加载指定网站的固定资源(访问过那个网站的用户都会下载的资源),比如logo或js文件,如果用户之前访问过,则浏览器会从本地缓存中读取对应的资源,速度会快很多,否则会重新下载。使用JavaScript或Java applet(2000年的论文,那时Java applet还很流行)可以度量这个时间,进而判断用户是否曾访问过指定网址。

    这个十几年前提出的方案目前仍然是有效的,不过相对来说,本文中提出的方案更为先进,效率也更高。

    另外,除了客户端时间外,服务器端时间也有可能泄露意想不到的数据。比如来自Stanford的论文《Exposing Private Information by Timing Web Applications》中提到,由于后台在处理不同类型的数据时使用的逻辑不同,耗费的时间也不同,因此,只要构造适当的请求,反复执行并度量时间,就可能获得很多隐私信息。

    如何防范此类计时攻击呢?目前似乎没有很好的办法。对服务器端来说,最好的方案或许是使用一些手段,让所有请求的返回时间常量化,比如统一为500毫秒,如果某个请求早于500毫秒完成,就休眠一会儿,直到500毫秒时再返回。但这样的问题是,整个站点的响应速度将取决于最慢的那个页面,对于效率至上的团队来说,这可能是无法忍受的。如果不是常量化,而是在每个请求之后休眠一段随机的时间也是不行的,因为完全随机意味着统计学上有迹可循,只要有足够多的样本,攻击者完全可以将随机因素剔除出去。

    对客户端的计时攻击来说,防范的办法就更少了,或许只有等待浏览器厂商注意到这类问题,并对浏览器特性做出修改,就像无法取得已访问链接的computed color一样。

    参考链接

    展开全文
  • iOS如何判断手机是否已越狱

    万次阅读 2018-06-20 13:35:33
    分享一篇关于安全攻防类-《越狱检测的攻与防》在应用开发过程中,我们希望知道设备是否越狱,正以什么权限运行程序,好对应采取一些防御和安全提示措施。iOS7相比之前版本的系统而言,升级了沙盒机制,封锁了几乎...

    分享一篇关于安全攻防类-《越狱检测的攻与防》

    在应用开发过程中,我们希望知道设备是否越狱,正以什么权限运行程序,好对应采取一些防御和安全提示措施。

    iOS7相比之前版本的系统而言,升级了沙盒机制,封锁了几乎全部应用沙盒可以共享数据的入口。即使在越狱情况下,限制也非常多,大大增加了应用层攻击难度。比如,在iOS7之前,我们可以尝试往沙盒外写文件判断是否越狱,但iOS7越狱后也无该权限,还使用老方法检测会导致误判。

    那么,到底应该如何检测越狱呢?攻击者又会如果攻破检测呢?本文就着重讨论一下越狱检测的攻与防。


     



    首先,你可以尝试使用NSFileManager判断设备是否安装了如下越狱常用工具:
    /Applications/Cydia.app
    /Library/MobileSubstrate/MobileSubstrate.dylib
    /bin/bash
    /usr/sbin/sshd
    /etc/apt


    但是不要写成BOOL开关方法,给攻击者直接锁定目标hook绕过的机会

    [objc]  view plain  copy
    1. +(BOOL)isJailbroken{  
    2.     if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"]){  
    3.         return YES;  
    4.     }  
    5.     // ...  
    6. }  

    攻击者可能会改变这些工具的安装路径,躲过你的判断。


    那么,你可以尝试打开cydia应用注册的URL scheme:

    [objc]  view plain  copy
    1. if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://package/com.example.package"]]){  
    2.      NSLog(@"Device is jailbroken");  
    3. }  


    但是不是所有的工具都会注册URL scheme,而且攻击者可以修改任何应用的URL scheme。 


    那么,你可以尝试读取下应用列表,看看有无权限获取:

    [objc]  view plain  copy
    1. if ([[NSFileManager defaultManager] fileExistsAtPath:@"/User/Applications/"]){  
    2.         NSLog(@"Device is jailbroken");  
    3.         NSArray *applist = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/User/Applications/"  
    4.                                                                                error:nil];  
    5.         NSLog(@"applist = %@",applist);  
    6. }  

    越了狱的设备是可以获取到的:


    攻击者可能会hook NSFileManager 的方法,让你的想法不能如愿。


    那么,你可以回避 NSFileManager,使用stat系列函数检测Cydia等工具:

    [objc]  view plain  copy
    1. #import <sys/stat.h>  
    2.   
    3. void checkCydia(void)  
    4. {  
    5.     struct stat stat_info;  
    6.     if (0 == stat("/Applications/Cydia.app", &stat_info)) {  
    7.         NSLog(@"Device is jailbroken");  
    8.     }  
    9. }  


    攻击者可能会利用 Fishhook原理 hook了stat。


    那么,你可以看看stat是不是出自系统库,有没有被攻击者换掉:

    [objc]  view plain  copy
    1. #import <dlfcn.h>  
    2.   
    3. void checkInject(void)  
    4. {  
    5.     int ret ;  
    6.     Dl_info dylib_info;  
    7.     int (*func_stat)(const charchar *, struct stat *) = stat;  
    8.     if ((ret = dladdr(func_stat, &dylib_info))) {  
    9.         NSLog(@"lib :%s", dylib_info.dli_fname);  
    10.     }  
    11. }  

    如果结果不是 /usr/lib/system/libsystem_kernel.dylib 的话,那就100%被攻击了。
    如果 libsystem_kernel.dylib 都是被攻击者替换掉的……

    那也没什么可防的大哥你随便吧……  



    那么,你可能会想,我该检索一下自己的应用程序是否被链接了异常动态库。

    列出所有已链接的动态库:

    [objc]  view plain  copy
    1. #import <mach-o/dyld.h>  
    2.   
    3. void checkDylibs(void)  
    4. {  
    5.     uint32_t count = _dyld_image_count();  
    6.     for (uint32_t i = 0 ; i < count; ++i) {  
    7.         NSString *name = [[NSString alloc]initWithUTF8String:_dyld_get_image_name(i)];  
    8.         NSLog(@"--%@", name);  
    9.     }  
    10. }  

    通常情况下,会包含越狱机的输出结果会包含字符串: Library/MobileSubstrate/MobileSubstrate.dylib 。


    攻击者可能会给MobileSubstrate改名,但是原理都是通过DYLD_INSERT_LIBRARIES注入动态库。


    那么,你可以通过检测当前程序运行的环境变量:

    [objc]  view plain  copy
    1. void printEnv(void)  
    2. {  
    3.     charchar *env = getenv("DYLD_INSERT_LIBRARIES");  
    4.     NSLog(@"%s", env);  
    5. }  

    未越狱设备返回结果是null,越狱设备就各有各的精彩了,尤其是老一点的iOS版本越狱环境。


    展开全文
  • 这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文分享了基于机器学习的恶意代码检测技术,包括机器学习概述与算法举例、基于机器学习...

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文分享了基于机器学习的恶意代码检测技术,包括机器学习概述与算法举例、基于机器学习方法的恶意代码检测、机器学习算法在工业界的应用。这篇文章将尝试软件来源分析,结合APT攻击中常见的判断方法,利用Python调用扩展包进行溯源,但也存在局限性。文章同时也普及了PE文件分析和APT溯源相关基础,基础性文章,希望对您有所帮助~

    你是否想过如何判断PE软件或APP来源哪个国家或地区呢?你又想过印度是如何确保一键正确卸载中国APP呢?使用黑白名单吗?本文尝试进行软件来源溯源,目前想到的方法包括:

    • 通过PE文件分析抓取创建文件时间戳,然后UTC定位国家地区,但受样本数量较少,活动规律不稳定影响很大
    • 通过静态分析获取非英文字符串,软件中一般有供该国使用的文字,然后进行编码比对溯源地区
    • 某些APP或软件存在流量反馈或IP定位,尝试进行流量抓取分析
    • 利用深度学习进行分类,然后提取不同国家的特征完成溯源

    欢迎大家讨论和留言,我们一起进行更深入的尝试和安全测试 O(∩_∩)O


    作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、

    展开全文
  • ajax判断远程服务器是否存在某文件

    千次阅读 2017-11-15 19:49:21
    ajax判断远程服务器是否存在某文件
  • 判断url是否能够访问

    千次阅读 2018-09-17 00:07:23
    渗透测试进行信息收集时,大家一般会利用工具收集要测试网站的其他资产:二级域名或者...对于http资产,可利用站长工具的状态码判断:http://pl.soshoulu.com/webspeed.aspx 可批量进行判断,结果可批量输出 对应htt...
  • VC++判断文件或文件夹是否存在

    万次阅读 多人点赞 2016-04-20 22:08:34
    VC++判断文件或文件夹是否存在在Windows应用项目中,几乎总会需要用到一些文件系统相关的函数,如:判断文件是否存在,判断文件夹是否为空,删除文件夹及其所有子项,计算文件夹的大小,等等。不知为何,Windows并未...
  • (1)查看makefile文件中OBIGO_FEATURE宏值,如果为WAP2,则不支持安全链接,只有为WAP2_SEC才支持,但该宏客户是不可以自行修改的,需要我司提供flavor build申请,同时内存空间会增加300k左右。  按照经验,在...
  • shell——判断文件是否存在

    千次阅读 2015-07-21 16:38:52
    初次使用Markdown编辑器来编写博客,希望有不一样的体会本文...以下为shell下的具体操作1、shell判断文件,目录是否存在或者具有权限” #!/bin/sh myPath=”/var/log/httpd/” myFile=”/var /log/httpd/access.lo
  • is * 作用:判断一个对象与指定的类型是否一致 **/ // 判断变量a的数据类型是否是String var a: Any = "a" if (a is String) { println("a是String类型") } if (a !is Int) { println("a不是Int类型") } /** * 2. ...
  • 看了许多小伙伴分享的刷新token和判断token是否失效的方法,个人感觉有些难懂和不够简便。现结合个人开发实践分享一下使用vue axios请求拦截的方法来刷新token和判断token是否过期、失效的方法。 刷新token和token...
  • 1、我使用了JWT的方式,后端生成了一个token,将其返回给前端,前端获取到后每次请求接口都附带上这个token,后端来判断这个token是否合法,如果不合法,后端该如何让其重定向到登录页面?是前端根据后端返回的错误...
  • 如何快速判断一个文件是否为病毒

    千次阅读 2020-01-03 17:15:59
    如何快速判断一个文件是否为病毒 这篇文章主要是快速辨别正常文件与病毒,我自己也不是专业...在这里主要讨论一下快速判断的方法,用最短的时间,最少的知识,来判断一个文件是否安全。 先说一下必要的工具:Sandb...
  • 判断手机是否具有ROOT限 许多机友新购来的Android机器没有破解过Root权限,无法使用一些需要高权限的软件,以及进行一些高权限的操作,其实破解手机Root权限是比较简单及安全的,破解Root权限的原理就是在手机的/...
  • java程序是跨平台的,可以运行在windows也可以运行在linux。但是平台不同,平台中的文件权限也是不同的。...本文主要讲讲linux下面的文件的权限和安全性问题,并且探讨一下如何在java程序中考虑文件的安全性。
  • 常见Web安全漏洞

    万次阅读 2021-03-07 09:14:37
    常见Web漏洞小结 1越权漏洞 ...检测 抓去a用户功能链接,然后登录b用户对此链接进行访问 ...3页面提交的资源标志与已登陆的用户身份进行匹配比对,然后判断其对当前链接是否有权限。 4必须在服务器端对每个请求URL进行鉴
  • 判断是否为iPad #define sky_IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 判断是否为ipod #define sky_IS_IPOD ([[[UIDevice currentDevice] model] isEqualToString:@"iPod touch"]) 判断是否...
  • 关于Jedis是否线程安全的测试

    千次阅读 2018-09-20 15:53:51
    自学还算顺利,但到了java接入的时候,看到jedis的链接池,就产生了疑问:明明server端对数据的读写时单线程,为什么还要用链接池呢? 经过一轮的百度,得知这里面有两个原因: ①主要原因:redis的性能瓶颈主要时...
  • 内部链接和外部链接

    千次阅读 2017-09-03 15:00:46
    内部连接:如果一个名称对编译单元(.cpp)来说是局部的,在链接的时候其他的编译单元无法链接到它。 外部连接:如果一个名称对编译单元来说不是局部的,而在链接的时候其他的编译单元可以访问它,也就是说它可以和别...
  • 一、最近开发wifi热点扫描功能,要判断当前连接的wifi热点是否需要密码。在网上搜索之后,发现有如下方法: private static final int WIFI_NEED_PASSWORD = 0; private static final int WIFI_NO_PASSWORD = 1; ...
  • 如果我们的应用支持通用链接,那么就能够方便的通过传统的 HTTP 链接来启动 APP(只要设备上已经安装了这个 App,不需要额外做任何判断),或者打开网页(如果 iOS 设备上没有安装该 App) 1,通用链接与...
  • Shiro安全框架入门篇(登录验证实例详解与源码)

    万次阅读 多人点赞 2016-02-03 15:23:32
    一、Shiro框架简单介绍Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证,授权,企业...即判断用户是否能做事情,常见的如:验证某个用户是
  • 四、判断是否存在域 了解本机信息后,就要判断当前内网中是都存在域。 4.1 ipconfig 查看网关IP地址、DNS的ip地址、域名、本机是否和DNS服务器处于同一网段等信息。 ipconfig /all 然后用nslookup解析 域名的...
  • 提高微服务安全性的11个方法

    千次阅读 多人点赞 2020-12-21 08:41:47
    1.通过设计确保安全 OWASP 2.扫描依赖 3.随处使用HTTPS 安全的GraphQL API 安全的RSocket端点 4.使用身份令牌 授权服务器:多对一还是一对一? 在JWT上使用PASETO令牌 5.加密和保护密钥 6.通过交付流水线...
  • 常见六大Web安全攻防解析

    千次阅读 多人点赞 2019-06-26 12:42:19
    在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷。如何才能更好地保护我们的数据?本文主要侧重于分析几种常见的攻击的类型以及防御的方法。 想阅读更多优质原创文章请猛戳...
  • 这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了Web渗透的第一步工作,涉及网站信息、域名信息、端口信息、敏感信息及指纹...
  • WEB安全测试要点总结

    万次阅读 多人点赞 2017-10-23 19:27:09
    一、大类检查点: 大类 细项 上传功能 绕过文件上传检查功能 ...注册请求是否安全传输 注册时密码复杂度是否后台检验 激活链接测试 重复注册 批量注册问题 登录功能
  • 安全工程师学习路线

    千次阅读 多人点赞 2018-09-04 18:28:29
    参考1:《安全工程师学习路线》 前言 职位描述 职位要求 学习路线 基本技能 前期安全知识的补充学习 安全工具使用 渗透测试 安全基线检查 应急响应 代码审计 安全边界建设 安全规范 具体参考内容链接...
  • 轨迹识别问题旨在验证传入的轨迹是否是由所要求的人员产生, 即给定一组单独的人员历史轨迹(例如行人,出租车司机)以及由特定人员生成的一组新轨迹,判定两组轨迹是否由同一个人员生成。这个问题在许多实际应用...
  • 这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步。前文分享了微软证书漏洞(CVE-2020-0601),并详细讲解了Windows验证机制、可执行文件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 203,828
精华内容 81,531
关键字:

如何判断链接是否安全