原创 Springboot 事務回滾無效

一、網上的常見解答 Springboot事務回滾無效網上有許多的說明,大多是以下幾種(舉例mysql數據庫) mysql表的引擎類型,不是InnoDB。目前爲止其他的不支持事務 springboot的啓動類沒加@EnableTran

原创 mysql實現updated_at字段在更新時自動賦值

背景 在實際開發中,經常遇到,使用到兩個這樣的字段created_at和updated_at字段,在以往我使用的Laravel框架中,框架能自動實現。現在使用其他框架,有的沒有集成這樣的功能。所以,尋找其他方式。 實際在mysql中可

原创 CBC翻轉攻擊,來自一道CTF題的學習大禮包

一、背景 最近報名參加了一個CTF比賽,學長介紹了個網站,實驗吧。開始了做題之旅。說句實話,網站還行,就是那個假設題目的服務器不太行。老是出現無響應的情況。 遇到一個題目名稱爲簡單的登錄題的問題 二、題目分析流程 題目 格式:fla

原创 webQQ協議分析2018.11.9

3天結束,webQQ客戶端開發包,python2編寫,封裝了webQQ的幾乎完整的功能,你可以用來開發聊天機器人,甚至更多創造性的功能。項目代碼託管在Github,github.com/HotIce0/webqq-client-s

原创 Python中執行JavaScript代碼

一、背景 最近在寫一個東西,會使用到webQQ的協議。其中,獲取webQQ登錄時需要的某些參數時,從js中獲取到的js的加密的函數。要轉化成Python比較浪費時間。既然有js解析庫,就用js解析庫,會簡單許多。 例如下面的js函數:

原创 git新建分支,更新分支代碼,合併回主分支,刪除分支

新建分支 git checkout -b BranchName 新建完成之後會自動切換到BranchName分支 用這個命令可以查看當前分支 $ git branch * hotice0(帶星號的是當前分支) master

原创 ptrace反調試

ptrace PTRACE_ATTACH可以附加到目標進程上,對其進行調試。 反調試的方式 跟蹤自己:因爲,一個進程在同一時間只能被一個進程跟蹤。如果進程在啓動時,就調用ptrace PTRACE_TRACEME跟蹤了自己。那麼這個

原创 ptrace實現內存代碼注入

一、背景 ptrace是Unix系列系統的系統調用之一。其主要功能是實現對進程的追蹤。對目標進程,進行流程控制,用戶寄存器值讀取&寫入操作,內存進行讀取&修改。這樣的特性,就非常適合,用於編寫實現,遠程代碼注入。大部分的病毒會使用到這

原创 ptrace的常用參數使用

一、關於ptrace ptrace是一種系統調用。p也就是process進程,trace追蹤。也就是進程追蹤。用於對進程的執行進行干涉以及寄存器狀態(值)的讀取以及設置,內存的寫入與讀取。比如,我們常用的Linux下的gdb調試。這個

原创 GUN C內聯彙編

#一、背景 在Linux內核的代碼中,大部分以C內聯彙編編寫。 在編寫病毒時,也會常常用到,比如,要編寫一個不依賴libc的注入代碼時,需要調用mmap進行內存申請時,就要使用到syscall進行系統調用。這時就需要使用到C語言的內

原创 如何成爲更好的交談者

TED演講: https://open.163.com/movie/2016/3/F/E/MBFLN6BJF_MBFLNJGFE.html 1.不要三心二意(到情境中去,不要去思考自己的其他問題) 2.不要好爲人師(每個人都是某方面的

原创 ptrace的PTRACE_POKETEXT參數

許多關於ptrace的博客中,常常錯了一個非常重要的地方,那就是PTRACE_POKETEXT和PTRACE_PEEKTEXT參數的說明 PTRACE_PEEKTEXT, PTRACE_PEEKDATA 從內存地址中讀取一個字節

原创 MySQL替換查詢case when

一、背景 二、適用情況 三、實例 一、背景 在設計數據庫的時候,往往,會將一些狀態字段設計成 unsigned Tinyint類型(1字節,無符號範圍0~255)。這樣設置往往是因爲,狀態字段的狀態描述過於複雜。影響查詢效率。但

原创 django setting中 time zone和language code設置中文

Django1.9以後language code的'zh-cn'就被棄用了,現在應該使用'zh-hans'。 修改settings.py爲 LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shang

原创 django配置使用MySQL

安裝pymysql,命令行執行pip install pymysql 配置settings.py #一定要加上下面兩句話 import pymysql pymysql.install_as_MySQLdb() DATABASES