![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CTF之Web
文章平均质量分 72
《CTF特训营:技术详解、解题方法与竞赛技巧》
「已注销」
这个作者很懒,什么都没留下…
展开
-
http-only原理与防御XSS实践
对于很多只依赖于cookie验证的网站来说,http-only cookies是一个很好的解决方案,在支持http-only cookies的浏览器中(IE6以上,FF3.0以上),Javascript是无法读取和修改http-only cookies,这样可让网站用户验证更加安全。我们重新看步骤一中所抓取得http包,当我们输入用户名和口令进行登录操作时,服务器端对口令进行校验,如果成功,返回给我们登录信息,并且在返回数据包中包含了cookie信息,以便保存用户的登录状态。原创 2022-11-16 11:08:09 · 1586 阅读 · 0 评论 -
XSS进阶之CSP绕过
script-src”限制外部脚本的加载,strict-dynamic特性允许将信任关系传递给由受信任的script动态生成的脚本,忽略了script-src的白名单,使得之后生成的脚本可以执行。CSP中的strict-dynamic特性允许将信任关系传递给动态生成的脚本,可以绕过script-src白名单限制,使得当从客户端插入JS时可以被解释执行。上述POC的作用是使我们注入的代码成为受信任的js脚本,从而绕过CSP的白名单的限制。尝试构造语句使浏览器执行弹出对话框的脚本。3.了解CSP的一些特性。原创 2022-11-15 17:52:04 · 679 阅读 · 0 评论 -
XSS进阶三
打开实验网址(http://10.1.1.11:81),可以看到实验练习系统。了解点php和javascript,下面给出了学习网址。服务器配置:apache+php+Mysql。尝试构造语句使浏览器执行弹出对话框的脚本。尝试构造语句使浏览器执行弹出对话框的脚本。尝试构造语句使浏览器执行弹出对话框的脚本。实例八:有时候你要跳出来你的思维。分析:与实例六一样吗?对本实例过滤方法及绕过进行分析。实例七:和实例六有什么区别?XSS基础、XSS进阶一。实例九:将xss进行到底。浏览器/服务器环境。原创 2022-11-15 16:52:46 · 374 阅读 · 0 评论 -
XSS进阶二
说明:实验二比实验一的难度相对来说是加大了。大牛之路是艰辛的,当你感孤独与寂寞的时候,说明你已经上路了。你其实并不孤独,你走的路,其实都已经很多人走过了。放开了你们的手脚,大胆的去思考,不要被习惯束缚,答案并不唯一。尝试构造语句使浏览器执行弹出对话框的脚本,并完成实验分析六。尝试构造语句使浏览器执行弹出对话框的脚本,并完成实验分析六。尝试构造语句使浏览器执行弹出对话框的脚本,并完成实验分析六。实例五:限制了我的左手,我还有右手呢。实例六:大胆去思考,小心的去求证。实例四:换一个角度,阳光依旧。原创 2022-11-15 16:28:05 · 411 阅读 · 0 评论 -
XSS进阶一
找到漏洞,再构造语句(这其实就是一个白盒测试,就相当与一个漏洞挖掘的过程了)。1.攻击原理:恶意浏览者构造巧妙的脚本恶意代码,通过网站功能存入到网站的数据库里面,如果程序没有经过过滤或者过滤敏感字符不严密就直接输出或者写入数据库,合法用户在访问这些页面的时候,程序将数据库里面的信息输出,这些恶意代码就会被执行。存储式漏洞:该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。原创 2022-11-15 16:05:29 · 487 阅读 · 1 评论 -
XSS跨站脚本攻击原理与实践
我们模仿其他用户访问该页面,打开Chrome,访问该页面,因为HTTP是无状态协议,它依靠cookie来识别用户身份,但是不同浏览器之间cookie不共享,所以2个浏览器可以模拟2个用户的身份,因为2个浏览器访问同一个页面的话,产生的cookie不同,如果想要查看2个浏览器的cookie是否相同,可以在想要查看cookie的页面打开开发者工具,然后在控制台输入document.cookie就可以看到当前网站的cookie。保存后再次访问该页面,重复上面的步骤,就会弹出新设置的cookie。原创 2022-11-15 15:35:21 · 274 阅读 · 0 评论 -
绕过伪静态
发现此处的地址栏是类似这样『Less-37/id/1』,目录形式,没有扩展名。伪静态:伪静态通俗点说就是假的静态页面,也就是通过各种技术手段,让动态页面的URL看上去和静态页面的一样。我们这里利用.htaccess文件,配置重写引擎,来实现伪静态的效果。打开桌面上的火狐浏览器,选择『绕过伪静态』下的『无扩展名形式』。打开桌面上的火狐浏览器,选择『绕过伪静态』下的『有扩展名形式』。1.html,貌似是静态网页啊,那我们将1改为2咧。因此此处的注入点为数字1后面,并且是显错注入。2)在伪静态页面寻找注入点。原创 2022-10-31 15:41:53 · 266 阅读 · 0 评论 -
绕过函数过滤
之前是对危险字符进行替换,但是有些字符的替换会影响用户的表达,那么就可以用转义的方法对用户的输入符号进行完整保留。本实验有三个部分,第一部分是自定义转义函数,第二三部分都是用标准的addslashed()函数和mysql_real_escape_string()来进行转义。GBK编码,它的编码范围是0×8140~0xFEFE(不包括xx7F),在遇到%df(ascii(223))>ascii(128)时自动拼接%5c,因此吃掉‘\’,而%27、%20小于ascii(128)的字符就保留了。原创 2022-10-31 11:23:37 · 349 阅读 · 0 评论 -
绕过UNION&SELECT过滤
打开桌面上的火狐浏览器,选择『绕过UNION&SELECT过滤』下面的『GET-基于错误-过滤UNION&SELECT-字符型-单引号和圆括号』。打开桌面上的火狐浏览器,选择『绕过UNION&SELECT过滤』下面的『GET-基于错误-过滤UNION&SELECT-字符型-单引号』。打开桌面上的火狐浏览器,选择『绕过UNION&SELECT过滤』下面的『GET-基于错误-过滤UNION&SELECT-双引号』。很多不可见的空白字符都可以用哦,你可以试试。针对于过滤,我们要善用编码,来绕过关键字过滤。原创 2022-10-30 18:32:50 · 498 阅读 · 0 评论 -
绕过条件过滤
由于布尔按真假判断,那我们这里有三个判断,分别是id,and**和or’’,这里的or’’恒为真,当id也为真的时候,控制真假结果就取决于and的值,则符合布尔注入。打开桌面上的火狐浏览器,打开『绕过条件过滤』下面的『GET-基于错误-过滤空格和注释-单引号和圆括号』,根据提示完成实验。打开桌面上的火狐浏览器,打开『绕过条件过滤』下面的『GET-基于错误-过滤OR&AND-单引号』,根据提示完成实验。打开桌面上的火狐浏览器,打开『绕过条件过滤』下面的『GET-基于错误-过滤注释』,根据提示完成实验。原创 2022-10-30 18:12:20 · 440 阅读 · 0 评论 -
SQL注入之绕过is_numeric过滤
本实验中的is_numeric()函数用于检测变量是否为数字或数字字符串。如果将二进制或十六进制数据传递至is_numeric()函数,则也会返回为true,即被is_numeric()函数检测是数字。现在,我们进行测试。编写is_numeric.php文件,并将以下代码输入后,保存。再执行该程序,可得到结果:bool(true)。php!$(!$代表上一条命令的最后一个参数,即is_numeric.php)原创 2022-10-29 17:04:32 · 1090 阅读 · 0 评论 -
Mssql报错注入
报错信息为Y,说明is_srvrolemember(‘sysadmin’)的值为1,可以断定当前的数据库用户属于管理员组。通过该实验可以让用户掌握常见的mssql报错原理,数据类型转换错误,group by having的报错,掌握mssql中常见的几个系统函数。2.把参数id后面的1替换为@@version,参数ID为整型数据,因为字符串型的数据无法转换成整数型的数据,所以出现了报错现象。@@version表示获取数据库的版本,因为不同版本的数据有略微的差别,所以获取数据的版本信息还是很重要的。原创 2022-10-29 15:07:22 · 1348 阅读 · 0 评论 -
有回显的Mssql手工注入
1.根据上一步已经知道字段数为5,因为mssql可以用union联合查询,所以用id=1 and 1=2 union select 1,2,3,4,5测试,因为用union是有字段数和数据类型的限制,请自行查阅,通过尝试发现当id=1 and 1=2 union select 1,‘2’,‘3’,‘4’,5页面有回显。2,3,4中的内容可以用系统函数代替,获取想要的信息,比如:将’3’替换成db_name(),获取当前数据库的名字为Ms_SqlInect。2.判断页面中是否有回显字段,并找出回显字段。原创 2022-10-29 14:18:12 · 395 阅读 · 0 评论 -
SQLi-Labs系列之堆叠注入
phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。原创 2022-10-29 11:53:48 · 487 阅读 · 0 评论 -
SQLi-Labs系列之GET型报错注入
phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。原创 2022-10-28 16:09:45 · 375 阅读 · 0 评论 -
SQLi-Labs系列之GET型盲注
phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。原创 2022-10-27 17:41:18 · 390 阅读 · 0 评论 -
Collabtive系统SQL注入实验
在Collabtive web应用程序中,如果用户想更新他们的个人资料,他们可以去我的帐户,单击编辑链接,然后填写表格以更新资料信息。如\x00,\n,\r,\,'," and \x1a。在这个实验中,我们利用的web应用程序称为Collabtive,本实验的目标是学会利用SQL注入漏洞以及学习抵御这类攻击的方法。我们发现上面的代码中是存在注入的,我们修改用户资料时,可以尝试修改company参数,进行注入。点击修改,然后我们退出当前用户,使用ted用户登录,这个时候ted用户的密码应该是pass。原创 2022-09-27 17:43:07 · 737 阅读 · 0 评论 -
SQL盲注
先介绍一下,information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式(元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等)。可以和上一个注入的代码对比会发现多了一条语句,盲注之所以比普通注入困难,就是因为这句代码把返回的错误信息屏蔽掉了,攻击者就无法判断,因此增加了注入的难度,但这不是根本解决的方法,因为它并没有阻止注入的发生,只是把注入的结果屏蔽而已。现在可以查询表名列名和数据了,利用的是Mysql的系统函数,很容易查询出想要的数据。原创 2022-09-26 17:18:31 · 139 阅读 · 0 评论 -
SQL注入中information_schema的作用
这里面,与注入相关的存在3个字段,分别是TABLE_SCHEMA、TABLE_NAME以及COLUMN_NAME,不难猜到,如果在该表中查询一条记录,TABLE_SCHEMA保存了这条记录保存的字段所属的数据库名,而TABLE_NAME保存的是该字段所属表名,COLUMN_NAME则是一个列名记录,查询一条记录验证一下,首先确定该表有多少条记录,执行。这个数据库又是什么?幸运的是,在information_schema数据库中,同样存在一个表,它保存了整个数据中,所有的列名,这个表就是COLUMNS。原创 2022-09-26 16:51:10 · 153 阅读 · 0 评论 -
SQL注入原理与实践
而通过and 1=1、and 1=2来判断页面是否存在注入,是因为我们修改了原本的SQL语句逻辑,当添加and 1=1的时候,这个条件永远成立,所以页面一定返回正常(需要该页面存在注入),但是当添加and 1=2的时候,这个条件永远不成立,所以如果该页面存在注入,必然不会返回任何数据。比如,字符串是兼容数字的。通过添加单引号来判断页面是否存在SQL注入,是因为我们添加的单引号被传到了SQL语句中,破坏了原本的SQL语句,还造成了语法错误,所以SQL语句执行,页面返回跟正常的时候会有不同。原创 2022-09-26 15:55:39 · 139 阅读 · 0 评论 -
Nmap的API和库文件
因为通过host.mac_addr获取的mac地址是二进制编码的,我们要转换成字符串,需要引入stdnse库,stdnse包中有一个format_mac函数,能够将host.mac_addr转换成字符串。Port的字段比较少,包括number,protocol,service,verison,state等。前面我们在格式化host.mac_addr返回的mac地址时,使用了stdnse这个库文件,接下来我们来学习nse中的库文件。它表示目标的mac地址,只有处于同一子网的设备,这个参数才有效。原创 2022-09-23 17:09:49 · 401 阅读 · 0 评论 -
Nmap的脚本编写
Nmap(网络映射器)是Gordon Lyon最初编写的一种安全扫描器,用于发现计算机网络上的主机和服务,从而创建网络的“映射”。我们直接来到关键部分,因为我们这个脚本的功能是评估目标是否为web服务器要根据端口状态及端口上的服务来判断,需要要用到portrule规则。如果发现目标开放了80端口,并在这个端口上运行http服务,则输出“this is a webserver”。这样当目标服务器上开放的80端口运行着http服务时,就命中了规则,接着去执行action部分。通过该实验了解nmap脚本的编写。原创 2022-09-23 16:30:12 · 593 阅读 · 0 评论 -
Nmap的脚本使用
在使用脚本时,如果脚本支持,我们还可以通过–script-args传入参数,还是以http-method为例,我们知道一些网站会通过判断user-agent来判断请求是否合法,那nmap在请求时有没有带上自己的特征呢?我们在脚本库中看到和http相关的脚本都是以http-的方式命名的,其他的也是一样,比如与ssh相关的都是以ssh-的方式命名。那么我们不仅限于使用,还想知道这其中的细节呢?可以使用种类的名字调用该分类下的全部脚本,比–scritp vuln,不过这比较费时间,在此就不演示了。原创 2022-09-23 15:28:23 · 195 阅读 · 0 评论 -
Nmap网络扫描
nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。原创 2022-09-15 14:39:54 · 714 阅读 · 0 评论 -
浏览器插件的使用
1.(单选)firebug的功能不包括?A:调试HTMLB:调试CSSC:调试JavascriptD:调试网络2.(单选)下列哪个Firefox的插件提供了检查网页元素、查看网络请求数据包的功能?A:FirebugB:HackBarC:Advanced Cookie ManagerD:Proxy Switcher3.(单选)下列哪个Firefox插件提供快速构建请求以及多种编解码的功能A:FirebugB:HackBarC:Advanced Cookie ManagerD:Pro原创 2022-01-21 15:11:58 · 553 阅读 · 0 评论 -
浏览器特性和安全策略
1.(单选)以下哪个URL不是同源的?A:http://www.hetianlab.comB:http://www.hetianlab.com:80C:http://www.hetianlab.com:81D:http://www.hetianlab.com/sec/websec2.(单选)如果说两个url同源,以下哪一项是不要求相同的?A:协议B:端口C:文件D:域名...原创 2022-01-21 15:03:55 · 2031 阅读 · 0 评论 -
利用sqlmap进行需要登录的注入
目录预备知识了解Sqlmap了解cookie实验目的实验环境实验步骤一利用sqlmap进行Cookie注入实验步骤二预备知识了解Sqlmapsqlmap是一款开源、功能强大的自动化SQL注入工具,支持Access,MySQL,Oracle,SQL Server,DB2等多种数据库。支持get,post,cookie注入,支持基于布尔的盲注,基于时间的盲注,错误回显注入,联合查询注入,堆查询注入等。了解cookiecookie是由网景公司的前雇员Lou Montulli在1993年3月的发明,由服务原创 2022-01-19 22:06:29 · 4129 阅读 · 0 评论 -
利用sqlmap进行文件读写
目录预备知识了解Sqlmap实验目的实验环境实验步骤一读取服务器端文件实验步骤二在服务器端写入文件预备知识了解Sqlmapsqlmap是一款开源、功能强大的自动化SQL注入工具,支持Access,MySQL,Oracle,SQL Server,DB2等多种数据库。支持get,post,cookie注入,支持基于布尔的盲注,基于时间的盲注,错误回显注入,联合查询注入,堆查询注入等。实验目的通过该实验熟悉sqlmap常用的命令,完成对服务器端的文件读写操作。实验环境服务器:CentOS,IP地址原创 2022-01-19 17:11:37 · 6234 阅读 · 0 评论 -
利用sqlmap辅助手工注入
目录预备知识了解Sqlmap实验目的实验环境实验步骤一利用sqlmap选项--sql-query辅助手工注入实验步骤二预备知识了解Sqlmapsqlmap是一款开源、功能强大的自动化SQL注入工具,支持Access,MySQL,Oracle,SQL Server,DB2等多种数据库。支持get,post,cookie注入,支持基于布尔的盲注,基于时间的盲注,错误回显注入,联合查询注入,堆查询注入等。实验目的通过该实验熟悉sqlmap常用的命令,利用sqlmap辅助手工完成注入。实验环境服务器原创 2022-01-19 15:00:18 · 2640 阅读 · 0 评论 -
利用sqlmap交互式写shell
目录预备知识了解Sqlmap实验目的实验环境实验步骤一使用sqlmap进行交互式写shell实验步骤二预备知识了解Sqlmapsqlmap是一款开源、功能强大的自动化SQL注入工具,支持Access,MySQL,Oracle,SQL Server,DB2等多种数据库。支持get,post,cookie注入,支持基于布尔的盲注,基于时间的盲注,错误回显注入,联合查询注入,堆查询注入等。实验目的通过该实验熟悉sqlmap常用的命令,完成交互式写shell。实验环境服务器:CentOS,IP地址:原创 2022-01-19 11:59:24 · 4348 阅读 · 0 评论 -
利用sqlmap进行POST注入
目录预备知识了解SqlmapPOST注入形成的原因实验目的实验环境实验步骤一使用sqlmap进行POST注入实验步骤二预备知识了解Sqlmapsqlmap是一款开源、功能强大的自动化SQL注入工具,支持Access,MySQL,Oracle,SQL Server,DB2等多种数据库。支持get,post,cookie注入,支持基于布尔的盲注,基于时间的盲注,错误回显注入,联合查询注入,堆查询注入等。POST注入形成的原因POST注入也属于SQL注入,所以究其原因还是由于参数没有过滤导致的。源码如下原创 2022-01-19 10:29:18 · 16286 阅读 · 0 评论 -
Sqlmap实战02
1.(单选)sqlmap支持哪些注入模式?A:基于布尔的盲注B:基于时间的盲注C:基于报错的注入D:以上都是2.(单选)Sqlmap判断一个URL是否存在注入需要用到下列哪个命令参数?A:python sqlmap.py -gB:python sqlmap.py -vC:python sqlmap.py -uD:python sqlmap.py –h3.(单选)下列哪个命令不可以调出sqlmap的帮助文档?A:python sqlmap.py -hB:python sqlmap.py原创 2022-01-18 19:22:33 · 544 阅读 · 0 评论 -
Sqlmap实战
1.(单选)有关sqlmap常用选项下列说法正确的是?A:#sqlmap选项-p用于指定参数B:#使用sqlmap选项-f可以判别数据库类型C:#使用sqlmap选项–proxy可以设置代理D:#以上都正确2.(单选)Sqlmap是哪种语言开发的程序?A:CB:C++C:PythonD:Golang3.(单选)Sqlmap需要在哪种语言环境下运行?A:JavaB:PythonC:PHPD:JSP...原创 2022-01-18 17:20:30 · 691 阅读 · 0 评论 -
Sqlmap基本语句
1.(单选)Sqlmap判断一个URL是否存在注入需要用到下列哪个命令参数?A:python sqlmap.py -gB:python sqlmap.py -vC:python sqlmap.py -uD:python sqlmap.py –h2.(单选)Sqlmap指定cookie,参数是?A:-cB:–cookieC:–cD:–proxy3.(单选)Sqlmap不能在哪种操作系统上运行?A:Windows 10B:Windows PhoneC:AndroidD:Kali li原创 2022-01-18 17:12:30 · 2579 阅读 · 0 评论 -
Sqlmap工具介绍
1.(单选)Sqlmap是哪种语言开发的程序?A:CB:C++C:PythonD:Golang2.(单选)关于Sqlmap说法错误的是?A:支持GET注入B:支持POST注入C:支持Cookie注入D:不支持代理3.(单选)Sqlmap需要在哪种语言环境下运行?A:JavaB:PythonC:PHPD:JSP4.(单选)下列哪个工具不提供了SQL注入测试功能?A:FirebugB:SqlmapC:明小子D:阿D注入5.(单选)下列哪个命令不可以调出sqlmap的帮助文原创 2022-01-18 17:06:21 · 936 阅读 · 0 评论 -
Burpsuite简介及MIME上传绕过实例
目录预备知识1.了解burpsuite2.了解服务端MIME类型检测实验目的实验环境实验步骤一使用Burpsuite的代理功能Target模块实验步骤二使用burpsuite上传绕过服务端MIME类型检测预备知识1.了解burpsuiteBurp Suite是用于攻击web应用程序的集成平台。包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP消息,持久性,认证,代理,日志,警报的可扩展的框架。在一个工具处理HTTP请求和响应时,它可以选原创 2022-01-18 15:00:30 · 447 阅读 · 0 评论 -
Burpsuite简介
1.(单选)设置浏览器代理时,如果想指向本地的代理程序,通常IP应设置为?3.(单选)Burpsuite中提供代理配置与抓包的是哪个功能模块?4.(单选)Burpsuite中提供数据包重放的是哪个功能模块?2.(单选)下列哪个Firefox插件能够快速切换代理?5.(单选)Burpsuite默认的本地监听端口是?原创 2022-01-18 11:48:49 · 323 阅读 · 0 评论