DOM型xss和别的xss最大的区别就是它不经过服务器,仅仅是通过网页本身的JavaScript进行渲染触发的。
平常用的多的是MySQL数据库,像Oracle数据库也有了解,但是用的不多。
我的研究方向是自然语言处理,具体的领域是虚假信息检测。我的小论文中采用的数据集是twitter15和twitter16,这两个数据集是自带标签的,我的目标就是将这两个数据集中不同的数据进行分类,再根据他所给出的标签来判断我模型的优劣。像文本分类这块有二分类、四分类、多分类几种,我研究的是个四分类问题,我实验中采用的是图神经网络GCN加上预训练模型Bert再结合联合注意力机制的一种方式去进行训练,最终分类的准确率能够达到91%。
联合查询注入、报错注入、时间盲注、布尔盲注、堆叠注入、宽字节注入、二次注入
如果网站使用了addslashes()函数或者开启了魔术引号,恰巧MySQL数据库为GBK编码,就会造成宽字节注入。最主要的原因就是客户端和服务器端解码方式不同造成的,如果想要防止宽字节注入,可以在初始化连接和字符集之后,使用SET character_set_client=binary来设定客户端的字符集是二进制的。
第一个需要知道绝对路径,第二个需要获得root权限,第三个需要开启secure_file_priv功能,要具有读写权限。
UDF为User Defined Function用户自定义函数,也就是支持用户自定义函数的功能。这里的自定义函数要以dll形式写成mysql的插件,提供给mysql来使用。也就是说我们可以通过编写dll文件来实现我们需要的功能。利用UDF提权需要知道root账户的密码,并且需要目标系统是Windows。可以使用现成的udf提权工具,也可以手工测试。
mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做”托管对象格式”其作用是每隔五秒就会去监控进程创建和死亡。其就是用了mysql的root权限了以后,然后使用root权限去执行我们上传的mof。隔了一定时间以后这个mof就会被执行,这个mof当中有一段是vbs脚本,这个vbs大多数的是cmd的添加管理员用户的命令。
这是利用Windows系统内核存在的缓冲区溢出或其他类型的漏洞,执行恶意代码,获取系统权限的方法。这种方法需要找到合适的漏洞和利用工具,而且可能受到系统补丁和防护软件的影响。
这是利用Windows系统上运行的数据库服务,如MySQL,SQL Server等,执行系统命令或写入可执行文件,获取系统权限的方法。这种方法需要获取数据库的高权限账户和密码,而且可能受到数据库版本和配置的限制。
这是利用Windows系统上存在的错误的配置或权限设置,如服务、计划任务、注册表、文件夹等,修改或添加可执行文件或命令,获取系统权限的方法。这种方法需要寻找合适的配置漏洞,而且可能受到系统版本和更新的影响。
这是利用Windows域环境中存在的组策略首选项(Group Policy Preferences)功能,读取存储在XML文件中的加密后的域管理员密码,解密后登录域控制器,获取域内所有机器的权限的方法。这种方法需要有域内普通用户的权限,而且可能受到域控制器版本和补丁的影响。
这是利用Windows系统中存在的用户账户控制(User Account Control, UAC)功能,绕过UAC弹窗提示,执行以管理员权限运行的程序或命令,获取管理员权限的方法。这种方法需要有普通用户或管理员用户(但不是system用户)的权限,而且可能受到UAC设置和补丁的影响。
这是利用Windows系统中存在的令牌(Token)机制,复制或窃取已经登录过或正在运行中的高权限用户(如system用户)的令牌,使用该令牌启动新的进程或线程,获取高权限用户的权限的方法。这种方法需要有普通用户或管理员用户(但不是system用户)的权限,并且能够注入或控制其他进程。
这是利用Linux系统内核存在的缓冲区溢出或其他类型的漏洞,执行恶意代码,获取系统权限的方法。这种方法需要找到合适的漏洞和利用工具,而且可能受到系统补丁和防护软件的影响。
这是利用Linux系统中存在的SUID(Set User ID)机制,找到并运行root用户所拥有的SUID文件,从而在运行该文件的时候获得root用户权限的方法。这种方法需要寻找合适的SUID文件,并且能够执行命令或写入文件。
这是利用Linux系统中存在的SUDO(Super User DO)机制,查看当前用户可以以root方式执行哪些命令或程序,并且利用它们来获取root权限的方法。这种方法需要查看当前用户在/etc/sudoers文件中的配置,并且能够执行命令或写入文件。
这是利用Linux系统中存在的计划任务(Cron Job)机制,找到并修改有权限修改的计划任务脚本,从而在计划任务执行时获取root权限的方法。这种方法需要寻找合适的计划任务脚本,并且能够修改或添加命令或文件。
这是利用Linux系统中存在的NFS(Network File System)机制,挂载远程服务器上开启了no_root_squash选项的共享目录,并且在该目录中创建SUID文件或修改其他文件,从而获取远程服务器上root权限的方法。这种方法需要知道远程服务器上共享目录的位置,并且能够挂载和写入该目录。
这是利用Linux系统上运行的MySQL服务,执行系统命令或写入UDF(User Defined Function)文件,从而获取系统权限的方法。这种方法需要获取MySQL服务的高权限账户和密码,并且能够执行命令或写入文件。
这是利用redis数据库可以修改自己的数据文件路径和名称的特性,将包含恶意代码的数据文件写入到web服务器的可执行目录下,从而在web服务器上执行该文件,获取web服务器的权限的方法。这种方法需要猜测或知道web服务器的目录地址,并且能够访问该地址。
这是利用redis数据库可以修改自己的数据文件路径和名称的特性,将攻击者生成的公钥文件写入到目标系统的/root/.ssh目录下,并命名为authorized_keys,从而在目标系统上使用私钥文件登录root用户,获取root权限的方法。这种方法需要目标系统存在/root/.ssh目录并且有写入权限,并且能够使用ssh连接目标系统。
这是利用redis数据库可以修改自己的数据文件路径和名称的特性,将包含反弹shell命令的数据文件写入到目标系统的/var/spool/cron/crontabs目录下,并命名为root,从而在目标系统上创建一个定时任务,在指定时间执行反弹shell命令,获取目标系统的权限的方法。这种方法需要目标系统存在/var/spool/cron/crontabs目录并且有写入权限,并且能够监听反弹shell端口。
这是利用redis数据库支持主从复制功能的特性,将攻击者搭建的恶意redis服务器作为主服务器,将目标系统上运行的redis数据库作为从服务器,并向从服务器发送包含恶意模块或命令的数据包,从而在目标系统上加载恶意模块或执行命令,获取目标系统的权限的方法。这种方法需要攻击者搭建一个恶意redis服务器,并且能够访问目标系统上运行的redis数据库。
编写一些常用的脚本,实现一些简单的应用还是可以的
平常学习网安通常是通过看网络安全社区,像freebuf,先知社区,奇安信攻防社区等等,也会在b站上搜索一些相关视频看看,或者是加入一些大佬群,遇到不会的问题,也可以问问这些大佬。像论坛的话知道吾爱破解和看雪两个。
下面就是反问的问题,这就各抒己见了,想问啥问啥。