0%

Steghide使用教程及其密码爆破

工具介绍

Steghide是一款开源的隐写术软件,它可以让你在一张图片或者音频文件中隐藏你的秘密信息,而且你不会注意到图片或音频文件发生了任何的改变。而且,你的秘密文件已经隐藏在了原始图片或音频文件之中了。这是一个命令行软件。因此,你需要学习使用这个工具的命令。你需要通过命令来实现将秘密文件嵌入至图片或音频文件之中。除此之外,你还需要使用其他的命令来提取你隐藏在图片或音频中的秘密文件。

阅读全文 »

Webshell(大马)

我们经常会看到Webshell,那么,到底什么是Webshell呢?

webshell就是以 asp、aspx、php、jsp 或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp、aspx、php或jsp后门文件与网站web服务器目录下正常的网页文件混在一起,然后就可以使用浏览器来访问该后门文件了,从而得到一个命令执行环境,以达到控制网站服务器的目的。

阅读全文 »

程序保护机制

1) NX:

数据执行保护,即DEP (Data Execution Prevention),(non-executable memory)中执行指令。在80x86体系结构中,操作系统的内存管理是通过页面表(page table)存储方式来实现的,其最后一位就是NX位,0表示允许执行代码,1表示禁止执行代码。一般来说,NX主要是防止直接在 栈(stack) 和 堆(heap) 上运行shellcode代码。gcc默认开启不可执行栈功能,添加编译选项-z execstack即可开启栈可执行功能。

阅读全文 »

web 中 xff 与 referer

XFF 字段

X-Forwarded-For (XFF) 是用来识别通过 HTTP 代理或负载均衡方式连接到 Web 服务器的客户端最原始的 IP 地址的 HTTP 请求头字段。通俗来说,就是浏览器访问网站的 IP。一般格式:
X-Forwarded-For: client1, proxy1, proxy2, proxy3
左边第一个是浏览器 IP,依次往右为第一个代理服务器 IP, 第二个,第三个(使用逗号 + 空格进行分割)

X-Forwarded-For 值表示的是 IP 地址
例如:X-Forwarded-For:123.123.123.123

阅读全文 »

弱类型比较

当两个不同类型的参数进行 ‘==’ 比较而非 ‘===’ 比较时,将会转换成相同类型进行比较。

  1. var_dump(“admin”==0); //true
  2. var_dump(“1admin”==1); //true
  3. var_dump(“admin1”==1) //false
  4. var_dump(“admin1”==0) //true
  5. var_dump(“0e123456”==”0e4456789”); //true

由第 1 个和第 2 个可知,当第一个字符为数字,后面都是字符串或字符时,字符串或字符将会等同于 0,整体等于第 1 个数字加上 0,又因为题目具体要求为与 1 比较,所以这时候的 GET 参数构造就应该为 1xxxxx,xxxxx 为任意字母。

Robots协议

Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots ExclusionProtocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取.

根据协议,网站管理员可以在网站域名的根目录下放一个robots.txt 文本文件,里面可以指定不同的网络爬虫能访问的页面和禁止访问的页面,指定的页面由正则表达式表示。网络爬虫在采集这个网站之前,首先获取到这个文件,然后解析到其中的规则,然后根据规则来采集网站的数据。

为什么需要Robots协议
互联网上的网页是通过超级链接互相关联起来的,从而形成了网页的网状结构。爬虫的工作方式就像蜘蛛在网上沿着链接爬来爬去,最基本的流程可以简化如下:

阅读全文 »

1.[HCTF 2018]WarmUp-1 2020.08.09


打开网页,查看源代码,发现 source.php,添加到 url 后进入

阅读全文 »

MySQL 中 show 语法

  1. show tables 或 show tables from database_name; – 显示当前数据库中所有表的名称。
  2. show databases; – 显示 mysql 中所有数据库的名称。
  3. show columns from table_name from database_name; 或 show columns from database_name.table_name; – 显示表中列名称。
  4. show grants for user_name; – 显示一个用户的权限,显示结果类似于 grant 命令。
  5. show index from table_name; – 显示表的索引。
  6. show status; – 显示一些系统特定资源的信息,例如,正在运行的线程数量。
  7. show variables; – 显示系统变量的名称和值。
  8. show processlist; – 显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查看他们自己的进程,但是如果他们拥有 process 权限,就可以查看所有人的进程,包括密码。
  9. show table status; – 显示当前使用或者指定的 database 中的每个表的信息。信息包括表类型和表的最新更新时间。
  10. show privileges; – 显示服务器所支持的不同权限。
  11. show create database database_name; – 显示 create database 语句是否能够创建指定的数据库。
  12. show create table table_name; – 显示 create database 语句是否能够创建指定的数据库。
  13. show engines; – 显示安装以后可用的存储引擎和默认引擎。
  14. show innodb status; – 显示 innoDB 存储引擎的状态。
  15. show logs; – 显示 BDB 存储引擎的日志。
  16. show warnings; – 显示最后一个执行的语句所产生的错误、警告和通知。
  17. show errors; – 只显示最后一个执行语句所产生的错误。
  18. show [storage] engines; –显示安装后的可用存储引擎和默认引擎。

0x01 原理

在 SQL 中,分号(;)是用来表示一条 sql 语句的结束。试想一下我们在;结束一个 sql 语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而 union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于 union 或者 union all 执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。例如以下这个例子。用户输入:1; DELETE FROM products 服务器端生成的 sql 语句为:(因未对输入的参数进行过滤)Select * from products where productid=1;DELETE FROM products 当执行查询后,第一条显示查询信息,第二条则将整个表进行删除。

阅读全文 »

一、Sql 注入漏洞详解

1.1 Sql 注入产生原因及威胁:

当我们访问动态网页时,Web 服务器会向数据访问层发起 Sql 查询请求,如果权限验证通过就会执行 Sql 语句。
这种网站内部直接发送的 Sql 请求一般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造 Sql 语句,如果用户输入的数据被构造成恶意 Sql 代码,Web 应用又未对动态构造的 Sql 语句使用的参数进行审查,则会带来意想不到的危险。

Sql 注入带来的威胁主要有如下几点:

・猜解后台数据库,这是利用最多的方式,盗取网站的敏感信息。
・绕过认证,列如绕过验证登录网站后台。
・注入可以借助数据库的存储过程进行提权等操作

阅读全文 »