我有一个部署在数字海洋液滴上的应用程序.部署后大约1天,我的服务器崩溃,最终日志如下所示:
GET /vehicle/tank/all/1 304 2.965 ms - -
GET /vehicle/tank/all/1 304 2.582 ms - -
GET /vehicle/tank/all/1 304 1.735 ms - -
GET /vehicle/tank/all/1 304 1.566 ms - -
GET http://dhg.pisz.pl/httptest.php 404 1.771 ms - 43
GET http://dhg.pisz.pl/httptest.php 404 3.271 ms - 43
GET http://dhg.pisz.pl/httptest.php 404 1.051 ms - 43
GET http://24x7-allrequestsallowed.com/? PHPSESSID=aab45f4f00143PWZJTVBY%40DXJFV%5D 200 1.777 ms - 1878
GET / 200 2.794 ms - 1878
GET http://testp4.pospr.waw.pl/testproxy.php 404 2.617 ms - 52
HEAD /robots.txt 404 2.946 ms - 24
HEAD …Run Code Online (Sandbox Code Playgroud) 我们开发了一个新的应用程序,在移动更改之前,我们使用checkmarx进行了代码的静态扫描.在名为Cross Site History Manipulation的代码中存在中等级别的漏洞.
这在我正在验证会话值的JSP页面中被删除:
if(request.getSession().getAttribute("sesStrUID")!=null)
Run Code Online (Sandbox Code Playgroud)
能否帮助我理解这个漏洞以及应该采取哪些措施来消除这种漏洞?
可以提交跨站点脚本(XSS)模式.
[HttpPost]
[AllowAnonymous]
[ValidateInput(false)]
public async Task<string> Index(string Xml) => await Process(Xml);
Run Code Online (Sandbox Code Playgroud)
如果我删除ValidateInput(false)Tag它会抛出异常."潜在的危险......"
Web.config设置如下
<httpRuntime targetFramework="4.6.1" requestValidationMode="2.0" />
Run Code Online (Sandbox Code Playgroud)
传入的请求将始终具有XML字符串.
是否有任何属性或某些东西不需要添加validateInput(False)并允许XMl.
请为您提供意见.
先感谢您.
security xss request-validation asp.net-mvc-validation client-side-attacks
我的网站目前正受到攻击.我创建了一个用户目录,自动将最后登录的人员放在最前面.加载主页的人都会被放在首位.
我有一个用户(至少有一个已登录,不确定是否有更多注销)正在刷新页面不停止并减慢网站速度.该网站使用大量图像,因此现在变得更慢.
我安装了sikka:https: //github.com/meteorhacks/sikka
但是我遇到了一些问题.特别是三个主要问题:
我设置了包,它似乎没有阻止攻击.无论如何,我仍然看到用户正在重新加载.
我运行我的本地服务器(localhost:3000),它运行得很好,实际上它不会让我做任何事情.我加载页面,它将带我到验证码页面,无论如何.点击后它会一直把我带到那里.所以我不能在安装包的网站上做任何工作.
我不得不把这个功能变成'OnlyForHumans'.它基本上要求所有用户确认它们不是机器人,这显然是一个巨大的不便.不仅如此,它还会过期并不断询问.这已经停止了攻击,但显然我不能这样离开网站.我会影响我的注册率等
有人可以帮我配置吗?对于速率限制,每个IP的适当设置是什么?我有默认值,但没有'onlyForHumans'设置,它没有做任何事情,同样糟糕,在本地乱七八糟.
任何帮助表示赞赏!
"sikka": {
"captcha": {
"siteKey": "google key here",
"secret": "google key here"
},
"rateLimits": {
"perIp": 20,
"perHuman": 20,
"perSession": 20
},
"times": {
"blockIpFor": 120000,
"humanLivesUpto": 3600000
},
"onlyForHumans": true
}
Run Code Online (Sandbox Code Playgroud) 我正在构建一个应用程序,我需要在客户端前端应用程序中向外部 API 发出请求,但我对如何使其最大程度地安全以便仅转发有效请求感到有点困惑到这个外部API,而不是任何人想要的。
作为安全性的第一步,我已经做到了这一点,以便客户端应用程序无法直接与外部 API 对话,而是必须访问我们自己的服务器端 API,然后服务器端 API 将请求代理到外部 API,这样访问外部 API 的凭据至少只存储在服务器端而不是客户端。
然而,这导致了同样的基本问题 - 如何保护我用来验证从客户端应用程序向我们自己的服务器端应用程序发出的请求的任何凭证/身份验证系统?
问题是,这是一项在线餐厅订购服务,因此我们不希望用户在能够下订单之前使用用户名和密码等进行身份验证,因此触发外部 API 调用的下订单是不存在的。 t 位于任何用户名/密码方案后面,并且必须可供前端应用程序的所有使用者使用。
这里的最佳安全实践是什么?我已启用 CORS 白名单作为最低限度的做法,这样理论上我们的服务器端 API 端点只允许来自我们自己域的请求,但如果有人选择仅欺骗原始 URL,则可以轻松绕过 CORS。
还有哪些其他选择?我确信我一定是错过了一些微不足道的东西,因为这一定是一个已经建立的最佳实践中非常常见的问题,但我只是不知何故未能找到它。
谢谢你!
OWASP建议在 API 响应中使用Content-Security-Policy: frame-ancestors 'none',以避免拖放式点击劫持攻击。
然而,CSP 规范似乎表明,加载 HTML 页面后,同一上下文中的任何其他 CSP 规则都将被丢弃,而不会产生任何效果。这在我关于 CSP 如何工作的心智模型中是有意义的,但如果 OWASP 推荐它,那么我肯定会错过一些东西。
在 HTML 页面已经加载并且“主”CSP 已经评估之后,谁能解释一下 XHR 请求中的 CSP 标头如何提高安全性?它在浏览器中如何工作?
security http http-headers content-security-policy client-side-attacks
我们开发了一个新的应用程序,在移动更改之前,我们使用checkmarx进行了代码的静态扫描.在名为Client Cross Frame Scripting Attack的代码中可以找到中等级别的漏洞.
这在JSP页面的第一行被删除:
<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)
你能帮助我理解这次攻击吗?应该采取什么措施来消除这种攻击?
黑客到达了我的数据库用户列表和其他表。
首先,我通过使用在所有事务中使用参数化命令
command.Parameters.Add("@Parameter1", SqlDbType.NVarChar).Value
Run Code Online (Sandbox Code Playgroud)
所有事务都是存储过程。
我正在将每个站点导航插入到数据库中。具体数据库表如下;
ID int (PK)
UserID int (null)
URL nvarchar(500)
IPAddress nvarchar(25)
CreatedAt datetime
Run Code Online (Sandbox Code Playgroud)
项目UserID从代码中获取信息是否打开会话。
CreatedAt是DateTime.UtcNow。
IPAddress 代码如下:
public static string GetIPAddress(HttpContext context)
{
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
return addresses[0];
}
return context.Request.ServerVariables["HTTP_CLIENT_IP"] ?? context.Request.ServerVariables["REMOTE_ADDR"];
}
Run Code Online (Sandbox Code Playgroud)
但是URL从网站当前 URL 填充所有查询字符串。( Request.RawUrl)
通常,当用户访问该站点时,日志会被插入到数据库中,如上所述。以下记录插入正常。示例数据如下所示:
ID UserID URL IPAddress CreatedAt
1 NULL /User 1.22.33.444 2019-12-12 16:22:33.441
2 NULL /User/MyOrders 1.22.33.444 2019-12-12 …Run Code Online (Sandbox Code Playgroud) security ×6
xss ×4
jsp ×2
asp.net ×1
deployment ×1
http ×1
http-headers ×1
java ×1
meteor ×1
node.js ×1
php ×1
rest ×1
session ×1
sql ×1
sql-server ×1