我正在寻找一个XSS漏洞的例子,只需使用AntiXSS Encoder 4.1 Beta作为运行时编码器(在system.web/httpRuntime中设置)就可以阻止该漏洞.我更喜欢不需要任何显式调用AntiXss函数的东西,比如
@AntiXss.JavaScriptEncode(ViewBag.UserName)
Run Code Online (Sandbox Code Playgroud)
我正在考虑一些可以通过ASP.NET黑名单获得但不会通过AntiXSS白名单的内容,可能与备用字符集或编码有关?
我测试过UTF-7漏洞,但看不到任何影响现代浏览器的漏洞.
作为升级JRun的一部分,我们正在从1.4 JVM迁移到1.6 JVM.现在我得到一个非常奇怪的oracle db错误:"OALL8处于不一致状态".我已经确定了插入不使用绑定变量的查询的问题 - 所有内联参数.如果我在没有任何绑定变量的情况下运行查询,则会出现上述错误.只要我用绑定变量替换其中一个硬编码值 - 一切都可以正常工作.
另一个奇怪的是,在执行查询后,它实际上已提交给数据库.我可以从另一个会话连接并查看插入的行.我已经尝试在事务中包装查询,并且它似乎成功,因为没有显式事务,查询的行为没有改变.
以下是相关细节:
Java版本:1.6.0_12-b04
虚拟机版本:11.2-b01(HotSpot服务器)
Oracle服务器:10.2.0.4
Oracle客户端:11.1.0.7.0到ojdbc6.jar
更新:我使用的是cfqueryparam - 它们在oracle世界中被称为绑定变量.虽然这确实解决了当前的问题,但我们有一个相当大的遗留代码库,我们无法通过实际更新查询作为从CF7升级到CF8的一部分.
即使我已经确定了一个失败的特定情况(并将其封装在mxunit测试中) - 这并不意味着没有其他领域可能存在这个问题.我真的希望有一个解决方案来消除OALL8错误,而不是围绕它编码.
更新2:在使用我们的DBA检查后,他已将名为CURSOR_SHARING的参数设置为SIMILAR.Oracle默认为EXACT.发生的事情是当ColdFusion将查询关闭以执行时,Oracle正在将所有文字值转换为绑定变量,这似乎使ColdFusion感到困惑.将设置恢复为EXACT允许文字查询正常工作.
更新3: Oracle最终向我们发布了一个JDBC的带外补丁.它被识别为JDBC错误.最新的驱动程序应该在它们最终更新时包含它.如果您有支持,也可以通过他们的TAR系统请求补丁.
我已经能够创建没有代码背后的ASPX页面,但我不能为我的生活找出魔术组合,让ASMX页面无需代码就可以工作.这甚至可能吗?
我正在尝试编译WebClient类的" cookie感知 "版本- 但我似乎无法克服使用PowerShell v2中添加的Add-Type cmdlet的一些障碍.这是我试图编译的代码:
PS C:\> $def = @"
public class CookieAwareWebClient : System.Net.WebClient
{
private System.Net.CookieContainer m_container = new System.Net.CookieContainer();
protected override System.Net.WebRequest GetWebRequest(System.Uri address)
{
System.Net.WebRequest request = base.GetWebRequest(address);
if (request is System.Net.HttpWebRequest)
{
(request as System.Net.HttpWebRequest).CookieContainer = m_container;
}
return request;
}
}
"@
PS C:\> Add-Type -TypeDefinition $def
Run Code Online (Sandbox Code Playgroud)
它似乎无法找到无法找到的CookieContainer类型(虽然它是完全合格的......) - 显然我对某些东西视而不见.
编辑:更新了示例代码以使其正确并且可以复制n-pasteable,谢谢!
使用PowerShell,可以轻松创建Excel Application类的实例并开始操作它:
$app = New-Object -ComObject "Excel.Application"
Run Code Online (Sandbox Code Playgroud)
但是,如果我需要使用像xlDoubleQuote或xlDelimited这样的常量 - 似乎我不得不对它们进行硬编码.我真的希望能够做到这样的事情:
$constants = New-Object -ComObject "Excel.Constants"
$constants.xlDoubleQuote
Run Code Online (Sandbox Code Playgroud)
并且看到它将返回值1.不幸的是我无法创建枚举的实例,并且似乎没有像普通.NET类库那样引用它的方法:
[Excel.Constants]::xlDoubleQuote
Run Code Online (Sandbox Code Playgroud)
有没有办法将该枚举动态导入PowerShell?也许通过托管库而不是COM?
我是PowerShell的新手,我试图从运行注册表项中删除一个特定的值.我正在使用该remove-item命令,但是,我没有看到指定单个值的开关.我不想删除整个键,只需要一个值.
作为参考批次等同于我想要做的事情:
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v SunJavaUpdateSched /f
Run Code Online (Sandbox Code Playgroud) 我需要每周下载并安装大约50个CRL,并将它们安装在多个Windows服务器上.下载是一个简单的部分,有没有办法编写CRL导入过程的脚本?
我试图找出url变量是否存在,如果不存在,请确保它不是空的.
这不起作用:
<cfif IsDefined('URL.affiliateId') and is not "">
//
</cfif>
Run Code Online (Sandbox Code Playgroud) 我似乎无法获得正确的魔法组合来完成这项工作:
OracleDataSource ods = new oracle.jdbc.pool.OracleDataSource();
ods.setURL("jdbc:oracle:thin:app_user/pass@server:1521:sid");
DefaultContext conn = ods.getConnection();
CallableStatement st = conn.prepareCall("INSERT INTO tableA (some_id) VALUES (1) RETURNING ROWID INTO :rowid0");
st.registerReturnParameter(1, OracleTypes.ROWID);
st.execute();
Run Code Online (Sandbox Code Playgroud)
我得到的错误是"违反协议".如果我更改为registerOutParameter(),我会收到通知我没有注册所有返回变量.如果我将语句包装在PL/SQL中开始; 结束; 然后我使用常规registerOutParameter()调用得到参数.我真的更愿意避免在PL/SQL中包装所有的insert语句 - 那么上面缺少什么?
我试图在跟随模式下捕获尾部的输出,在它检测到文件长度的变化时输出文本 - 特别适用于添加行时跟踪日志文件.出于某种原因,我对StandardOutput.Read()的调用是阻塞的,直到tail.exe完全退出.
相关代码示例:
var p = new Process() {
StartInfo = new ProcessStartInfo("tail.exe") {
UseShellExecute = false,
RedirectStandardOutput = true,
Arguments = "-f c:\\test.log"
}
};
p.Start();
// the following thread blocks until the process exits
Task.Factory.StartNew(() => p.StandardOutput.Read());
// main thread wait until child process exits
p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
我也尝试使用对OutputDataReceived事件处理程序的支持,它表现出相同的阻塞行为:
p.OutputDataReceived += (proc, data) => {
if (data != null && data.Data != null) {
Console.WriteLine(data.Data);
}
};
p.BeginOutputReadLine();
Run Code Online (Sandbox Code Playgroud)
我对StandardOutput.Read()的调用有更多的代码,但这简化了示例,仍然表现出不良的阻塞行为.我还能做些什么来让我的代码在子应用程序退出之前对StandardOutput流中的数据可用性做出反应?
这可能是tail.exe运行方式的一个怪癖吗?我使用版本2.0作为UnxUtils包的一部分编译.
更新:这看起来似乎至少部分与tail.exe中的怪癖有关.我从GnuWin32项目中获取了二进制文件,作为CoreUtils软件包的一部分,版本增加到5.3.0.如果我使用该-f选项而不重试,我在STDERR上遇到可怕的"坏文件描述符"问题(容易忽略),并且该过程立即终止.如果我使用该-F …