自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 webshell及工具

1,eval()函数把字符串按照php代码来计算;2,该字符串必须是合法的php代码,且必须以分号结尾;php中的echo的功能是把参数直接输出到页面上:php?给参数caidao赋值,然后输出到页面上:给caidao的值111输出到页面是111eval函数把字符串按照php代码进行解析,并且该字符串必须是合法的php代码。eval函数前面加上@符号可以不显示报错。php?eval函数的作用也是解析参数,我们在firefox随意传递一个参数试试:可以看到没有加@时我们会看到报错信息。

2023-05-10 15:34:21 2229

原创 burpsuite的基本使用

爆破完成之后可以通过观察状态码(找不一样的,比如有些网站是302是指登录后会进行跳转)或者长度不一样的来找结果。另外,如果遇到混合加密的情况,比如银行会采用AES混合加密,这时可能会用到插件或者自己手写程序进行操作。在日常工作中,比如 sql注入,页面返回的信息太多不好定位,所以就可以用这个工具。在comparer中可以看到差别,但是在这里示范的时候没看到(失误?一个网站的登录成功或者失败返回的数据包是不一样的。比如,在实际的渗透过程中,有些单位的默认密码是。当抓包遇到一些密码被加密了,比如MD5加密。

2023-04-20 12:39:19 1184

原创 burpsuite抓包数据分析

POST请求 被抓包的文件 http协议是1.1。#user-agent是浏览器的标识。#POST数据的具体内容。

2023-04-16 16:40:27 953

原创 Sqlmap的基本使用

通过返回页面判断条件真假的注入。

2023-03-30 11:15:58 476

原创 PHP——常量

PHP已经定义好的,可以直接使用的常量,一般代表特殊含义。魔术常量是预定义常量中比较特殊的一类。(具体查看php知识手册)列出一些最常用的预定义常量。

2023-03-15 17:42:52 70

原创 PHP——变量

才算是创建了这个变量,变量用于存储值比如数字,文本字符串或是数组。一旦设置了某个变量,就可以在脚本中重复使用它。在第一次使用变量时,就进行赋值,这个过程叫“初始化”。在后期使用变量时,可以随时修改变量的值。2,变量名由字母,数字,下划线组成,并不能以数字开头,也不能包含其他字符(空白字符...)$$是PHP的特性,也是产生php中变量覆盖漏洞的原因。1,变量名严格区分大小写,大小写不同变量也完全不同。一个变量的名字可以动态的设置和使用。直接用一个=就可以完成变量的赋值。也就是直接给变量赋值就可以使用。

2023-03-15 16:11:59 352

原创 SQL注入——POST union注入

4,GET提交有长度限制,最长2048个字符;POST提交没有长度要求,不是只允许使用ASCII字符,还可以使用二进制数据。2,GET提交参数会保留在历史记录中,POST提交不会。1,GET提交可以被缓存,POST提交不会。即当网站需要登录时,可以使用POST提交。一般有登录框的都会采用post提交方式。5,POST提交比GET提交更安全。

2023-03-12 13:02:24 234

原创 SQL注入——DNSlog手动注入

手动注入对waf的绕过有很大的帮助,但是效率比较低。DNSlog手动注入的条件和文件上传注入一样,也需要mysql有文件的读写权限。

2023-03-11 22:23:29 339

原创 一句话木马

一台对方的服务器或者是自己的电脑,因为要为对方提供服务,所以这个web服务会采用动态语言php。php又是编程语言肯定会调用其他函数,如果我自己写了php代码,就可以将这个代码上传到别人的服务器上去,比如我们上传恶意代码或者木马到对方服务器,那么对方就会被我操控了。任何一种语言都可以调用系统函数命令,比如我们用python写一个脚本。web端的木马一般采用的语言:php,jsp,asp。木马:能够获取对方控制权限的程序。

2023-03-11 21:23:59 217

原创 SQL注入——文件上传

3,into outfile命令使用的环境:必须知道一个,服务器上可以写入文件的文件夹的完整路径。2,数据库的file权限规定了数据库用户是否有权限,向操作系统内写入和读取已存在的权限。在这里也可以用whoami看到小皮的权限,我给的是普通用户的权限,不是管理员权限。其实我们最终的目的是往目标靶场上上传一句话木马,或者是自己想上传的php文件。当然在试的过程中可能会出现一些碰巧的情况,比如用”试得到的是一样的结果。两种结果不一样,“错的就是错的“,所以我们找到了正确的闭合方式。

2023-03-11 15:22:53 2098 1

原创 数据链路层及交换机工作原理

其中类型是指:(参考tcp/ip协议栈理解)0x代表十六进制0x0800:IP协议;0x0806:ARP协议理解:当在进行装包的时候网络层往下传的数据要被封装成帧,这时候要考虑上三层的数据是从上一层的哪个协议流下来的(网络层的IP协议和ARP协议可以往下流)。由下层为上层提供服务的思想,当数据流到对方电脑时需要进行解封装,下层为上层提供服务也需要知道这个数据包使用的协议是什么,所以在帧头会有类型字段。

2023-03-09 22:44:15 1454 1

原创 SQL注入——时间盲注

web页面只返回一个正常页面。利用,逐个猜解数据。但是前提是数据库会执行命令代码,只是不反馈页面信息。回顾:当页面有回显选择当页面没有回显但是有报错信息选择当页面既没有回显也没有报错,但是有页面真假值,选择没有回显,没有报错,没有页面真假值,选择。

2023-03-07 21:09:25 960 1

原创 SQL注入——布尔盲注

当猜测是第一个字母的ascii码是115,页面显示为真,再查表,得出对应字母。后续的操作是依次猜解,陆续得出数据。布尔盲注:Web页面只返回True真,False假两种类型,利用页面的返回不同,逐个猜解数据。页面没有报错回显,不知道数据库具体返回值的情况下,对数据库中的内容进行猜解,实行SQL注入。对方既没有回显位又没有报错,如果页面有真假值切换,我们就可以使用布尔盲注。当我们猜解数据库名称的第一个字母的ascii是120,页面显示false。盲注分类:布尔盲注,时间盲注,报错盲注。

2023-03-07 18:36:48 668 1

原创 SQL注入——floor报错注入

rand()函数进行分组group by和统计count()时可能会多次执行,导致键值key重复,从而导致报错。group by子句:分组语句,常用于,结合统计函数,根据一个或多个列,对结果进行分组。floor()函数:小数向下取整。concat_ws()函数:将括号内数据用第一个字段连接起来。根据users表里面有多少行,rand()就计算多少次。根据from后面的表中有多少行,前面的函数就执行多少次。rand()函数:随机返回0~1间的小数。count()函数:汇总统计数量。随机返回0~1间的小数。

2023-03-07 17:19:29 303

原创 SQL注入——UpdateXml报错注入

正常句式:select updatexml(doc,'/book/author/surname','1') from xml;错误句式:select updatexml(doc,'~book/author/surname','1') from xml;第一个参数:XML_document是string格式,为XML文档对象的名称,例如Doc。第三个参数:new_value,string格式,替换查找到的符合条件的数据。第二个参数:XPath_string是路径,XPath格式的字符串。

2023-03-07 09:04:06 370

原创 SQL注入——extractValue()报错注入

在实际的注入过程中,查询的列(比如本例中的doc)是不用管的,随便写就可以。因为我们关注的是后面查询的更重要的东西(database)于是我们想到,如果在报错之前执行一下select语句,然后在报错提醒信息那里回显出我们想要的数据信息就好了,这就是报错注入。这条命令的意思是,想要显示的内容123456,这句话的意思是从第一个字符开始显示,显示后面的三个,即123。同理,从第31个字符开始显示,显示后面的30个字符。比如在本例中把查询参数的路径写错,页面上只会显示查询不到内容,但是不会报错。

2023-03-06 20:42:49 2022

原创 sql注入——报错注入

两个无加区别:后台对于输入输出的合理性没有做检查。

2023-03-05 14:42:17 186

原创 SQL注入——数字型union联合注入

联合查询union默认只显示union前一段语句查询到的结果,我们将id改为一个不存在的数字,从而使前一段语句查询不到结果,显示出最后一段语句查询到的内容。输入’判断是否存在注入点,如果报错则存在注入点。因为是数字型注入,所以根本不用考虑闭合方式。用and语句判断数字型还是字符型。所以判断是数字型注入。

2023-03-05 13:50:33 263

原创 SQL注入——字符型union注入

使用union注入拿到靶机中数据库里的所有用户名和密码查询语句:select 列名 from 表名 where 限定语句以sql-labs中的less-1为例。

2023-03-04 21:46:37 482 1

原创 SQL注入基础部分

通过把sql命令插入到web表单提交或输入域名或页面请求的查询字符串,最终到达欺骗服务器执行恶意的SQL命令,从而进一步得到相应的数据信息。简单的说:通过构造一条精巧的语句,来查询到想要得到的信息。注入点就是可以实行注入的地方,通常是一个访问数据库的连接。

2023-03-04 18:53:58 128

原创 SQL注入之SQL的增删改

在sql注入的堆叠注入或者是迭代注入的时候会涉及到对数据库的修改,这时候就需要用到这些基础命令。其实在图形化界面下可以不用命令,在这里提前学习命令是为了以后在linux系统下做准备。在这里我们以phpstudy搭建的靶场中的图形化界面来展示数据库。创建数据表employees,并写入表格信息及相关参数。创建数据库employees并选择字符集。以下都是在sql注入中常用到的命令。选择进入数据库employees。删除数据库employees。修改数据表名称为user。

2023-03-03 18:53:59 591

原创 渗透测试实例

根据前面所学的知识,知道对方电脑只要没关闭445,其实某些磁盘也是在隐秘共享的,比如C$,D$,IPC$等:所以要是我们把C$映射到我们的F盘,这时只要我们cd F盘,实际上是进入了对方电脑的C盘。其实就已经进入了对方的sharefiles文件夹下了,这时候完全可以把他当做网盘,变成自己的电脑里的了,可以随便在此盘里面建东西了。在实际的攻击中,我们是不知道这些的,所以要用暴力破解的方法来获得。一般的个人用户的用户名是很难猜到的。在本电脑上以为是进入了F盘,实际上是进入了对方的空间,可以当本地盘使用了。

2023-02-28 20:19:14 584

原创 渗透测试的简单流程

比如第一步扫描出的端口是80,明确出这是一个网站服务器。接下来会扫描这个服务器是用IIS发布的还是apache发布的(通过渗透工具或者命令)。然后可以利用发布网站软件本身的漏洞去攻击网站(IIS,apache本身是有漏洞的)。nmap=IP范围 端口 80(每个端口后面是有漏洞的。扫描之后更关注背后的东西,比如通过扫描结果知道你的网站是用IIS发布的?拿到对方的shell环境,也就是拿到对方的命令行窗口;或者拿到对方的桌面环境。如版本漏洞:IIS的版本漏洞 2003-6.0与 2008-7.0。

2023-02-28 19:58:28 117

原创 移动开发 实验三

其中,mycontentprovider可以帮助应用程序管理对自己存储的数据的访问, 由其他应用存储,并提供与其他应用共享数据的方法。然后使用myresovler调用这个mycontentprovider。本次实验选择两个APP,分别是mycontentprovider和myresovler。ContentProvider方法。

2022-11-24 19:29:00 458

原创 DVWA之SQL注入(低级)

注意:我们在输入框输入id=1' order by 1#,通过改造sql语句修改了应用程序逻辑,执行的sql语句实际上数据库中执行的是:select * from 表 where id='1' order by 1 #'。由于#已经注释掉了后面所有的内容,所以实际上的效果:select * from 表 where id='1' order by 1(#也可以换成--)继续输入1’and'1'='1或者1'='1发现可以正常回显,所以目前可以十分准确的判断存在的是sql注入中的字符型注入。

2022-11-17 13:48:14 2260 1

原创 DVWA之SQL注入

通过把恶意的sql命令插入web表单递交给服务器,或者输入域名或页面请求的查询字符串提交到服务器,达到欺骗服务器,让服务器执行这些恶意的sql命令,从而让攻击者,可以绕过一些机制,达到直接访问数据库的一种攻击手段。

2022-11-16 19:45:00 692

原创 递归-反转链表

【代码】递归-反转链表。

2022-11-06 15:00:18 85

原创 IP地址与端口号的功能

要想使网络中的计算机能够进行通信,必须为每一台计算机指定一个标识号,送给过这个标识号来指定接受数据的计算机或者发送数据的计算机。在TCP/IP协议中,这个标识号就是IP地址,它可以唯一标识一台计算机。例如:192.168.1.100。通过IP地址可以连接到指定计算机,但是如果想访问目标计算机中的某一个应用程序,还需要指定端口号。在计算机中,不同应用程序是通过端口号区分的。

2022-11-04 10:55:38 1187

原创 什么是DNS?DNS的作用?

白话:在互联网中通过IP地址来通信。但是IP地址的表示形式是数字,很难方便人类记忆(比如:116.213.120.232)。所以为每一个IP取一个方便人们记忆的名字(比如www.baidu.com),而通过DNS来把域名解析成为IP地址(即将人理解的命名格式解析成计算机能够理解的形式,也可以将IP翻译成域名)dns,是域名系统的简称,也叫做域名解析系统,是因特网的一项核心服务,它可以作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数据串。

2022-11-03 19:59:55 838 2

原创 渗透测试之信息收集

进行渗透测试之前,第一步或者最重要的一步就是信息收集。主要是收集服务器的配置信息和网站的敏感信息(域名及子域名信息,目标网站系统,CMS指纹,目标网站真实IP,开放的端口等)。总之,凡是与目标网站相关的信息,都应该尽量去搜集。

2022-11-03 19:27:46 83

原创 网址与域名的区别

目录一,网址与域名的区别二,主域名与子域名以网址https://www.baidu.com为例。网址由协议加域名组成所以协议是https;域名:www.baidu.com区别:1,包含与被包含的关系:网址包含域名,域名包含于网址;2,后缀部分不同:域名只是网址的后缀部分;3,根目录不同:网址可以访问目录和文件。比如https://www.baidu.com/的根目录是/网址是有根目录的,域名没有根目录;主域名:主域名由两个或两个以上的字母构成,中间由点号隔开,整个域名通常只有一个点号。比如百度的主域名bai

2022-11-03 11:07:48 5010

原创 Burp Suite小白入门(代理)

Burp Suite是一款集成化的渗透测试工具,包含许多功能,我们可以使用他高效地完成对Web应用程序的渗透测试和攻击。总结:bp就是一个抓包,改包工具。

2022-10-29 13:49:25 7340

原创 kali自带burpsuite和wireshark

关于kali自带的测试工具

2022-10-27 11:26:13 428

原创 构造函数(二)

实例变量没有手动赋值的时候,系统默认赋值。系统默认赋值的时候是在构造方法执行的过程中完成的赋值。* 成员变量之实例变量,属于对象级别的变量,这种变量必须先有对象才能有实例变量。* 2,创建对象的同时,初始化实例变量的内存空间。

2022-10-26 21:24:04 48

原创 《网站被黑》

目录一,补充知识1,黑客攻击的步骤与防范(1)网络本身存在的安全缺陷(2)黑客攻击的步骤(3)黑客攻击的方法(4)黑客攻击的防范(被攻击前怎么做)2,黑客常见攻击与防护方法(1)常见攻击方法(2)黑客攻击的防范(被攻击后怎么办)3,web后门详解(泛指webshell)二,解题过程1,推断网站使用的后台语言2,扫描黑客留下的后台地址3,暴力破解,bp抓包4,补充(1)如何判断网站后端使用的语言?(2)如何从github上下载文件?1,开放性的网络环境;(显而易见不用多解释)2,协议本身的缺陷:网络应用层服务

2022-10-26 18:06:57 1957

原创 构造函数(一)

-普通方法的调用:方法修饰符中有static的时候:类名.方法名(实参列表),方法修饰符列表中没有static的时候:引用.方法名(实参列表)* 10,当一个类中没有定义任何构造函数,系统会默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造函数。* 11,当一个类显示的将构造方法定义出来了,则系统不再为这个类提供构造器。* 4,对于构造方法,“返回值类型”不需要指定,并且也不能写void;* 5,构造方法的方法名必须与当前类的类名保持一致。* 8,构造方法调用执行后,又返回值吗?

2022-10-24 12:34:59 61

原创 封装的步骤

1,所有属性私有化,使用private关键字修饰,private表示私有,修饰的数据只能在本类中访问;* 2,对外提供简单的操作入口,外部程序访问私有属性(比如age),必须通过这些入口进行访问;* 没有static关键字修饰的方法如何调用:引用.方法名(实参);* 有static关键字修饰的方法如何调用:类名.方法名(实参);* -对外提供两个公开的方法,分别是set和get方法;* 修改属性的值:set方法;* 读取属性的值:get方法;

2022-10-23 15:17:36 1186

原创 Activity的生命周期与跳转(实验二)

而后如果 Activity 恢复与用户的交互,则会调用 onRestart 方法,如果 Activity 被销毁,则会调用onDestroy方法。2、根据博客:https://www.jianshu.com/p/c4cfe38a91ed的内容(进阶篇中的 “点击”),在前次作业的基础上增加列表项的单项点击功能,具体要求是:新建一个新的activity1,recycleview的某一项点击后跳转到这个新的activity1。在 Activity 被销毁前调用,这是 Activity 收到的最后调用。

2022-10-20 19:35:26 591

原创 Simple_SSTI_1与Simple_SSTI_2

#__globals__[] 使用方式是 函数名.__globals__获取function所处空间下可使用的module、方法以及所有变量。flask是一个使用Python编写的轻量级Web应用框架(一种开发框架,用来支持动态网站,网络应用程序及网络服务的开发。3,SECRET_KEY配置变量是通用密钥,可在Flask和多个第三方扩展中使用,加密的强度取决于变量值的机密度,不同的程序使用不同的密钥。于是猜测flag是否藏在某一个文件夹中,于是尝试用ls列举出文件夹中的文件一下。

2022-10-17 15:00:53 2907 1

原创 Web基础知识(一)

Web应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户可以很容易访问应用程序。用户只需要有浏览器即可,不需要再安装其他软件。

2022-10-16 22:39:07 2147 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除