Next>> Scroll to Bottom
Stuff goes here
L1[17:11:27] ⇨
Joins: Neo (~neo@vps-9c69ad6a.vps.ovh.ca)
L2[17:11:37] *** Server sets mode: +ntz
L3[17:13:19] ⇨
Joins: Neo (~neo@vps-9c69ad6a.vps.ovh.ca)
L4[17:13:29] *** Server sets mode: +ntz
L5[17:13:39] <Michiyo> ffs
L6[17:37:48] <gruetzkopf> shall i throw a
sql query against my quasselcores postgresql?
L7[17:41:23]
<Forecaster> Invert the polarity of the
positron shield!
L8[17:47:08]
<techtastic> @walksanator also, make sure
any input text is sanitized so theres no opening for an SQL
Injection Attack
L9[17:48:45]
<Forecaster> That's no fun
L10[17:52:17]
<techtastic> this is ment to interact with
a playerbase who its playing a programming magic mod and is ment to
be a cross-world/server storage system for their stuff
L11[17:52:18]
<techtastic> theres bound to be a few
apples bad enough and knowledgeable enough
L12[17:56:31]
<walksanator> >techtastic:
<@596098777941540883> also, make sure any input text is
sanitized so theres no…
L13[17:56:31]
<walksanator> I am using a library
L14[17:56:34]
<walksanator> I trust it to sanatize
L15[17:56:53]
<walksanator> hooked up a random iota
generator
L16[17:57:01]
<walksanator> (and made a sanatizer for
iotas)
L18[17:58:02]
<walksanator> so now all that is left is
to hook up the Flatbuffer transport
L19[17:58:13]
<walksanator> which I also revamped that
since last time
L20[18:00:11]
<walksanator> here is my
"""well designed""" sanatizer
L22[18:00:25]
<walksanator> (all the sanatizer does is
punt entity iotas
L23[18:00:36]
<walksanator> cross-server item transfer
is not coming in this update
L24[18:00:39]
<walksanator> duh
L25[18:09:39]
<techtastic> >walksanator: I trust it
to sanatize
L26[18:09:39]
<techtastic> never just trust it,
verify
L27[18:12:35]
<walksanator> > In SQL, queries can be
separated into prepared (parameterized) or unprepared (simple).
Prepared queries have their query plan cached, use a binary mode of
communication (lower bandwidth and faster decoding), and utilize
parameters to avoid SQL injection. Unprepared queries are simple
and intended only for use case where a prepared statement will not
work, such as various database commands (e.g., PRAGMA or SET or
BEGIN).
L28[18:12:38]
<walksanator> it protects
L29[18:12:59]
<walksanator> and after all if `6,131,690`
downloads
L30[18:13:05]
<walksanator> it has to be decently
secure
L31[18:14:30]
<Sky>
>walksanator: cross-server item transfer is not coming in this
update
L32[18:14:30]
<Sky> what
do you mean I cant move items from my creative singleplayer world
to my survival multiplayer server?
L33[18:14:37]
<walksanator> >Sky: what do you mean I
cant move items from my creative singleplayer world to my s…
L34[18:14:38]
<walksanator> not yet
L35[18:14:43]
<walksanator> also it will be *very*
expensive
L36[18:14:44]
<walksanator> and checked
L37[18:15:38]
<walksanator> like not only do you
allready have to build the multiblock (using some hard to
make/expensive amethyst buds and slipways)
L38[18:15:59]
<Sky> ok
lets say it costs like 10 nether stars per item stack
L39[18:16:00]
<Sky> i can
go build a wicked efficient nether star farm, and then I can start
moving lots of items from singleplayer to multiplayer?
L40[18:16:20]
<walksanator> I am considering something
like `(nbt_size/16)*stack size`
L41[18:16:32]
<walksanator> >Sky: ok lets say it
costs like 10 nether stars per item stack
L42[18:16:32]
<walksanator> i can go build a wick…
L43[18:16:33]
<walksanator> more items are less
effective
L44[18:16:38]
<walksanator> after 1k it becomes
90%
L45[18:16:45]
<walksanator> and ever other 0 reduces
that by another 5%
L46[18:16:47]
<Sky> build
a new item machine
L47[18:16:52]
<walksanator> so 10k 85%
L48[18:17:01]
<walksanator> >Sky: build a new item
machine
L49[18:17:01]
<walksanator> correct you have to
diversify
L50[18:17:03]
<Sky> and
what is the % here? % of items moved?
L51[18:17:13]
<walksanator> >Sky: and what is the %
here? % of items moved?
L52[18:17:13]
<walksanator> points cost
L53[18:17:19]
<Sky> how
do you make points?
L54[18:17:21]
<walksanator> yet thats right I am making
a EMC system
L55[18:17:29]
<walksanator> >Sky: how do you make
points?
L56[18:17:29]
<walksanator> having items in your mote
nexus
L57[18:17:34]
<walksanator> more "complex"
items = more points
L58[18:17:40]
<Sky> that
would be nice if I knew what a mote nexus is
L59[18:17:40]
<walksanator> it pulls randomly
L60[18:17:43]
<walksanator> like risk of rain 2
L61[18:18:02]
<Sky> I can
have my M/E system autocraft hundreds of super complex items, can't
I?
L62[18:18:03]
<walksanator> >Sky: that would be nice
if I knew what a mote nexus is
L63[18:18:03]
<walksanator> "infinite" storage
of 1023 items
L64[18:18:11]
<Sky>
ah
L65[18:18:12]
<walksanator> that can only be accessed by
hexcasting
L66[18:18:34]
<walksanator> so if you figure out how to
ME export into it 👏 although *tbh*
L67[18:18:34]
<walksanator> if you have done that
L68[18:18:41]
<walksanator> *what would you even need to
import anymore*
L69[18:18:56]
<Sky>
creative mode only items :P
L70[18:19:07]
<Sky> like
wouldnt i be able to send over a creative energy cube from
mekanism?
L71[18:19:12]
<walksanator> banned
L72[18:19:12]
<Sky>
creative mana pools?
L73[18:19:14]
<walksanator> by default
L74[18:19:17]
<Sky> oh,
theres a banlist
L75[18:19:19]
<walksanator> get deleted when
recieved
L76[18:19:20]
<walksanator> yep
L77[18:19:30]
<Sky> time
to make my own mod that implements these, and make it closed source
:)
L78[18:19:31]
<walksanator> tag and itemid bans are
avaliable for config
L79[18:19:42]
<walksanator> >Sky: time to make my own
mod that implements these, and make it closed source :)
L80[18:19:42]
<walksanator> then it wont show up
L81[18:19:45]
<walksanator> since to import a item
L82[18:19:51]
<walksanator> it has to be on the
recieveing server
L83[18:19:59]
<walksanator> otherwise it becomes
"generic media mass"
L84[18:20:03]
<Sky>
hm
L85[18:20:08]
<walksanator> and also this is handled
*mc* server side
L86[18:20:09]
<Sky>
theres definitely a way to abuse this
L87[18:20:23]
<walksanator> the only thing the rust
server does rn is filter out truename iotas
L88[18:20:32]
<walksanator> oh yeah thats a given
L89[18:21:04]
<walksanator> anyways heres the db
schema
L90[18:21:04]
<walksanator> ```
L91[18:21:05]
<walksanator> CREATE TABLE IF NOT EXISTS
`HexDataStorageCode Block pastebined null
L92[18:21:24]
<techtastic> id still verify, just because
it has 6mil downloads doesnt mean its not broken ,just that it was
used 6 mil times
L93[18:21:56]
<walksanator> I will check github for open
issues
L94[18:22:01]
<walksanator> actually wait this would be
a vuln
L95[18:22:05]
<walksanator> and only disclosed to the
devs
L96[18:22:09]
<techtastic> Optifine has possible
millions of downloads despite breaking every other mod
L97[18:22:28]
<walksanator> yes but that wont exploit
your DB
L98[18:22:33]
<walksanator> also optifine isn't open
source
L99[18:23:00]
<techtastic> still, verify, try to attack
your own DB within the game using your system
L100[18:23:36]
<walksanator> the only attack vector I can
see are Pattern or Data
L101[18:23:50]
<walksanator> Pattern is out since it is
filtered to only be `qweasd` any others are filtered
L102[18:23:54]
<walksanator> for Data I will check if it
is valid NBT
L103[18:24:28]
<techtastic> just because you cant see it,
doesnt mean an attack vector doesnt exist outside your field of
view
L104[18:24:35]
<walksanator> give me a sql attack
L105[18:24:39]
<walksanator> just a string
L106[18:24:59]
<techtastic> idk, im not a habitual
attacker, i dont have such into lying around
L107[18:25:33]
<techtastic> id likely just google
it
L108[18:26:36]
<walksanator> is this one?
L109[18:26:36]
<walksanator> Code Block pastebined
null
L110[18:26:52]
<kristopher38> >walksanator: give me a
sql attack
L111[18:26:52]
<kristopher38> then give me your
query
L112[18:27:14]
<walksanator> Code Block pastebined
null
L113[18:27:21]
<walksanator> this is the RS command and
the query
L114[18:27:44]
<walksanator> signature is *only* `qweasd`
so cannot be attacked for obvious reasons (try to exploit
qweasd)
L115[18:27:50]
<walksanator> the only vector I can see is
`bytes`
L116[18:27:53]
<walksanator> since that is NBT data
L117[18:27:59]
<kristopher38> yeah that caught my
attention too
L118[18:28:01]
<walksanator> (password is not user
controlled)
L119[18:29:13]
<kristopher38> you should sanitize `bytes`
for size and being a valid NBT
L120[18:29:17]
<walksanator> because bytes is the only
one that goes in with *no* sanatization (by me)
L121[18:29:29]
<walksanator> that is currently the
plan
L122[18:29:55]
<walksanator> (gonna try and load it
uncompressed, and if it fails, send a error message back to the
client "invalid nbt"
L123[18:32:37] <Hawk777> Should probably
make sure there isn’t any way to construct a blob of bytes that’s
both valid NBT data and also something else you don’t want (or, you
know, just make sure that the “something else” can’t actually do
anything, which would be the ideal solution).
L124[18:33:19]
<walksanator> yeah that is what I am
thinking
L125[18:33:29]
<walksanator> because nbt does contain
valid string
L126[18:34:06]
<walksanator> so whats stopping a string
within nbt being like `sqli "; DROP TABLE
HexDataStorage;`
L127[18:34:29]
<walksanator> because right subsequent
executions may fail
L128[18:34:34]
<walksanator> but the table was
dropped
L130[18:37:00] <fingercomp> of course,
since you're using prepared statements
L131[18:37:39]
<walksanator> yep
L133[18:37:51]
<walksanator> so it is gonna take
something *a little more*
L134[18:37:57]
<walksanator> but I dont really do any
selecting
L135[18:38:22]
<walksanator> (and what selecting will be
done by the aforementiond pattern which is only `qweasd` and max
length of 256 chars
L136[18:38:26]
<walksanator> post-filtering
L137[18:52:58] <Amanda> If you're using
prepared statements you should be totally safe, AIUI those are
usually handled by the SQL db's wire protocol to be substituted
server-side safely
L138[19:08:11] ⇦
Quits: Hawk777 (~Hawk777@2607:c000:829b:6400:3285:a9ff:fe40:a36)
(Ping timeout: 190 seconds)
L139[19:22:32]
<theredstonewolf> i use opencomputers to
control Immersive Railroading trains. how does getpos() work? What
is the result?
L140[19:24:24]
<ar2000>
Use the `lua` interpreter to experiment with it
L141[19:24:32]
<theredstonewolf> thx
L142[19:48:49]
⇨ Joins: Hawk777
(~Hawk777@2607:c000:829b:6400:ef85:1468:64ea:8929)
L143[20:01:35] ⇦
Quits: paperluigis (~Thunderbi@176.118.114.87) (Ping timeout: 195
seconds)
L144[20:41:48]
<S3>
Amanda: update 8 is the way to go
L145[20:41:58]
<S3> I just
wish the map was randomly generated
L146[20:42:09]
<S3> It
would make the replay value so much better for me
L147[20:52:03]
<Forecaster> Just invert your controls,
bam, brand new experience
L148[21:03:22] <Izzy> S3: you can page
through the vtys with alt-, and alt-. :3
L150[21:04:06]
<Michiyo>
ffs... I need to be able to hairpin my connection over my VPN... OR
I need to tell my local webserver that any access to hosted domains
should connect over the LAN ._.
L152[21:16:20] <Amanda> @S3 it's a bit
laggy sometimes, but I'm generally liking it so far. Bit
disconcerting that I'm decapitated in the game though
L153[21:18:24]
<Michiyo>
ok got iptables to let the hairpin work
L154[21:22:29]
<S3> Lol
what
L155[21:22:37]
<S3> Yeah
there's some weird bugs for sure
L156[21:22:49]
<S3> My
friend and I were breaking it the other day with debug on lol
L157[21:23:08]
<Forecaster> Having a head is overrated
anyway
L158[21:23:44]
<Forecaster> It just means you have the
potential to get ahead later
L159[21:24:06] <Amanda> @S3 :
L161[21:24:39]
<S3>
LOL
L162[21:24:52] <Amanda> I've gotta fix my
steam deck syncing of screenshots
L163[21:25:02]
<S3> Also
that's cool,a steamdeck
L164[21:45:55] <Amanda> That's actually a
screenshot in steam, I've broken my syncing to my laptop though, so
I decided to just take a photo of the steamdeck with it uo
L165[21:47:00] <Izzy> hoping the steam
deck encourages more devs to do their UIs properly
L166[21:47:24] <Izzy> letterboxing or
broken UI placement on non-16:9 displays is very
disappointing
L167[21:47:29] *
Izzy stares at capcom
L168[22:03:23] <Amanda> Izzy: honestly I
expect the seemingly growing prevalence of stupid-wide screens is
more likely to drive adaptive UIs
L169[22:04:02] <Izzy> so far that seems to
just make them have a menu option to select between 16:9, 21:9 and
32:9
L170[22:04:27] <Amanda> Ah
L171[22:05:51] <Izzy> see MHW and
MHRise
L172[22:08:45] <Amanda> I'll have to ask
my sister how monster hunter stories 2 is doing, shes been playing
it on her deck
L173[22:09:50] <Izzy> Code Vein was
funny
L174[22:09:58] <Izzy> it was rendering in
full res then adding black bars over the top
L175[22:10:21] <Izzy> which is obnoxious
because you're rendering geometry you can't see ... but also
removing them means hex editing 4 bytes
L176[22:44:17] ⇦
Quits: Vexatos
(~Vexatos@p200300eaef20b35228868c0a9c938aad.dip0.t-ipconnect.de)
(Quit: Insert quantum chemistry joke here)
L177[22:53:02] ⇦
Quits: Teris (sid315557@id-315557.helmsley.irccloud.com) (Ping
timeout: 183 seconds)
L178[22:53:09]
⇨ Joins: Teris
(sid315557@id-315557.helmsley.irccloud.com)
L179[23:07:18] <Amanda> Izzy: apparently
she's playing it in 16:9 because the default was making the menus
not work, so I guess Capcom haven't learned yet
L180[23:09:29] <Izzy> of course .-.