草庐IT

中间人攻击

全部标签

php - 防止 XSS 攻击

此代码是否安全以防止XSS攻击??helloworld!";echo"withoutfiltering:".$string;echo"";$filtered=htmlspecialchars($string);//insertintodatabasefilteredecho"Afterfiltering:".$filtered;echo"";$de_filtering=htmlspecialchars_decode($filtered);//retrievefromdatabaseanddisplayecho"Afterde-filtering:".$de_filtering;?>

php - 如何使用 % 防止 Zend Form 的 XSS 攻击

我们公司为我们的客户制作了一个网站。客户聘请了一家网络安全公司在产品发布前测试页面的安全性。我们已经消除了大部分XSS问题。我们用zend开发了网站。我们将StripTags、StringTrim和HtmlEntities过滤器添加到订单表单元素。他们又进行了一次测试,但还是失败了:(他们将以下内容用于httpheader数据中的一个输入字段:name=%3Cscript%3Ealert%28123%29%3C%2Fscript%3E基本上转化为name=alert(123);我在一些字段中添加了alpha和alnum,通过删除%修复了XSS漏洞(touchwood),但是,现在老板不

php - 如何将用户对象绑定(bind)到中间件中的请求

我正在LaravelSpark1.0(Laravel5.2)中编写应用程序。我为代理(api)身份验证编写了一个自定义中间件。这是代码:token)&&!empty($request->token)){$agent=Agent::where('token','=',$request->token)->first();if($agent!=NULL){$team=$agent->Team()->first();$user=$team->User()->first();$request->merge(['team'=>$team]);$request->merge(['user'=>$us

php - 在 Doctrine 中使用 DQL 访问多对多中间表中的字段

我有一个名为ContentGroup的模型和另一个名为Content的模型,它们之间存在多对多关系。中间表有一个名为Position的字段,当我尝试编写DQL查询以获取与ContentGroup关联的所有内容时,我无法使用涉及的模型或关系的别名引用位置字段。有人试试这个吗?谢谢! 最佳答案 考虑中间模型IntModel。没有测试,但这应该有效:$q=Doctrine::getTable('IntModel')->createQuery('p')->leftJoin('p.Contentasc')->leftJoin('p.Conte

POC模拟攻击利器 —— Nuclei入门(一)

引入Nuclei的缘由使用dependencycheck发现的问题,需要研发人员修复,研发人员要求复现问题!这个的确有难度不仅仅要了解cve相关bug的具体含义,还要模拟攻击,对于测试人员显然要求过高!凭借自己多年的各种测试工具调研经验,直觉告诉自己,应该有类似的工具,经过各种技术调研选择了Nuclei。使用Nuclei主要对cve相关问题进行模拟,另外并不是所有的cve问题该工具都能模拟,建议大家使用前可以自行查看需要验证的cve问题是否在nuclei的template中,如果不在,还需要自行创建。Nuclei基础Nuclei是一款基于YAML语法模板的开发的定制化快速漏洞扫描器。它使用Go

php - 使用基本授权作为中间件 PSR-7 PSR-15

TD;LR:我试图掌握中间件实现背后的理念。它似乎可以正常工作,但我该如何正确处理响应,以便它向浏览器显示基本授权登录提示?--我正在使用:equip/dispatch用于PSR-15中间件调度器guzzlehttp/psr7用于PSR-7ServerRequestInterfacemiddlewares/http-authentication示例基本授权中间件middlewares/response-time额外的虚拟中间件(检查是否也在管道中执行)运行下面的代码:$middleware=[new\Middlewares\ResponseTime(),(new\Middlewares

php - MYSQL二阶攻击问题

现在我正在使用准备好的语句来选择/插入数据到mysql。好的,我的问题是我发现了有关二阶攻击的信息。例如,用户在我的网站上注册。并使用像这样的电子邮件或用户名"username';DELETEOrders;--"这会插入到mysql表中因此,当我通过准备好的语句再次接收数据时,并在准备好的语句中再次插入/执行某些操作。我会很安全,因为我使用准备好的语句吗?示例:GetBadData:$sql="SELECT*FROMUSERSwhereUSERID=1";...$stmt->bind_result($username);...NextQuery:INSERTordootherthing

php - dirname 是否足以防止目录遍历攻击?

考虑以下经典问题案例:此代码容易受到directorytraversalattack的攻击,例如,如果$_GET['f']的值为../etc/shadow,则该文件的内容将被泄露给攻击者。有一些众所周知的方法可以防止此类攻击;我不是在问如何做到这一点。问题是:是dirname的以下用法吗?防止攻击的防弹方法?它听起来应该是因为dirname:返回.当且仅当输入路径中没有斜杠(在线文档保证不那么严格,但thesource是明确的)是二进制安全的(因此不会被嵌入的空值欺骗)据我所知,唯一可能的攻击途径是以编码方式将数据传递给$_GET['f'],这样字符/或\(别忘了Windows)编码为

php - 中间件。最有效的方法

目前我正在使用laravel5项目,其中包含约100条发布和获取路线。我想在这里添加中间件,但这个项目背后的逻辑真的很复杂。中间件将在这里扮演非常重要的角色。在我使用群组之前,例如:Route::group(['middleware'=>'auth'],function(){//routes});但是一切都变得非常困惑,因为我必须在组中创建组,例如:Route::group(['middleware'=>'auth'],function(){Route::group(['middleware'=>'status'],function(){//routes});});目前我有20个Con

php - 带中间件的 Laravel 5.2 嵌套路由组

问题:Session::flash不工作奇怪的路由参数问题一我遇到了Session::flash无法工作的错误。我也找到了解决方法,但它..很奇怪。我认为嵌套组和中间件有问题。代码:Route::group(['middleware'=>'web'],function(){Route::group(['prefix'=>'{locale}','middleware'=>['localized']],function($locale){Route::resource('/','ProductController',['only'=>['index']]);Route::get('/car